Bonjour à tous,
J'ai développé une application vbNet (Framework 2) lié à des bases de données access. Les bases de données sont stockés pour l'instant sur un disque commun en réseau. A terme, plusieurs utilisateurs utiliseront les mêmes bases de données.
Pour se connecter aux bases de données j'ai crée un module comportant tous les chemins d'accès du style :
Dans mon form1 principal j'ai ce sub :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 Public Sub connection1() base1 = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source = " base3 = "U:\commun\BDD\escale.mdb;" End Sub
Dans le load de mon form1 j'ai mis :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 Public Sub GetData(ByVal selectCommand As String) Try ' Specify a connection string. Replace the given value with a ' valid connection string for a Northwind SQL Server sample ' database accessible to your system. Call connection1() Dim connectionString1 As String = base1 & base3 ' Create a new data adapter based on the specified query. Me.Table1dataAdapter = New OleDbDataAdapter(selectCommand, connectionString1) ' Create a command builder to generate SQL update, insert, and ' delete commands based on selectCommand. These are used to ' update the database. Dim commandBuilder1 As New OleDbCommandBuilder(Me.Table1dataAdapter) ' Populate a new data table and bind it to the BindingSource. Dim table1 As New DataTable table1.Locale = System.Globalization.CultureInfo.InvariantCulture Me.Table1dataAdapter.Fill(table1) Me.Table1bindingSource.DataSource = table1 Catch ex As DataException MsgBox(Err.Description) System.Diagnostics.Debug.WriteLine("erreur") End Try
Dans mon projet, j'ai différents form ou les utilisateurs font des saisies :
Code : Sélectionner tout - Visualiser dans une fenêtre à part GetData("select * from Table1")
- Pour ajouter une nouvelle entrée, j'utilise la fonction :
puis je mets à jour avec :
Code : Sélectionner tout - Visualiser dans une fenêtre à part Form1.Table1bindingSource.DataSource.Rows.Add(New Object(){......}
- Pour mettre à jour, je mets à jour le Table1datagridview puis je mets à jour
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Form1.Table1bindingSource.Position = Form1.Table1bindingSource.Count - 1 Form1.Table1dataAdapter.Update(CType(Form1.Table1bindingSource.DataSource, DataTable)) Form1.GetData(Form1.Table1dataAdapter.SelectCommand.CommandText)
Tout cela pour arriver à ma question, pour des raisons d'optimisation et de rapidité, j'ai lu qu'on peut fractionner les bases de données en lisant ceci :Me.Validate()
Form1.Table1bindingSource.EndEdit()
Form1.Table1dataAdapter.Update(CType(Form1.Table1bindingSource.DataSource, DataTable))
http://office.microsoft.com/fr-fr/ac...010240096.aspx
Le soucis est que je suppose que je doive revoir mon code pour mon application.... et là je ne sais pas quoi modifier ....
Ensuite pour distribuer la base frontale à + d'un utilisateur ?
Et un autre point important est que les utilisateurs n'ont pas access d'installé.
Puis-je fractionner sur un PC non relié au réseau mais équipé d'Access pour la fractionner et ensuite distribuer la base frontale ?
Je suis vraiment perdu sur ce coup ..... Merci d'avance
Partager