Bonjour,
Pour faire très original j'ai un pb de communication avec mon programme et ma base access.
Tout d'abord, le programme. Je cherche à connaitre l'utilisation de machine dans une salle libre service (dans une école). Il y une vingtaine de machine et je voudrais pouvoir faire des stats sur leur utilisation journalière dans le mois etc.
Bref, j'ai imaginer un petit programme qui se lancerai en tache de fond à l'ouverture d'une session, qui mettrai l'heure et la date dans une variable et enverrais tout cela sur un espace disque à la fermeture de la dite session avec en plus l'heure et la date de fermeture de session. tout cela avec le nom de machine.
Rien de bien sorcier (remarque je ne sais pas si c'est très clair...)
pour palier à un manque de réseau (et oui les étudiants sont une espèce brutal pour les câbles réseau situer à leur pied...) je teste la connexion avec la base de donnée distante. Si elle n'est pas la je créer une base local et je stocke tout dedans. A l'ouverture suivante d'une session je re-test et si la base distante est présente je décharge la base local dans celle distante et je la supprime.
Bref tout cela pour dire que j'arrive à créer ma base de donnée local mais je n'arrive pas remplir celle distante avec celle local.
Lorsque je lance le programme celui-ci bloque sur
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim cnx As OleDbConnection Dim cmd As OleDbCommand Dim dta As OleDbDataAdapter 'Dim cmdb As OleDbCommandBuilder Dim dts As New DataSet Dim dtt As DataTable 'Dim dtr As DataRow Dim conn As String Dim sql As String Dim cnx_2 As OleDbConnection Dim cmd_2 As OleDbCommand Dim dta_2 As OleDbDataAdapter Dim cmdb_2 As OleDbCommandBuilder Dim dts_2 As New DataSet Dim dtt_2 As DataTable Dim dtr_2 As DataRow Dim conn_2 As String Dim sql_2 As String Me.Opacity = 0 Me.ShowInTaskbar = False If Len(Dir("C:\util\Data.mdb", FileAttribute.Normal)) <> 0 Then 'If Len(Dir("O:\espas\Data\Data.mdb", FileAttribute.Normal)) <> 0 Then If Len(Dir("C:\util\test\Data.mdb", FileAttribute.Normal)) <> 0 Then sql = "SELECT * FROM UTILISATION_111)" conn = "Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source = C:\util\Data.mdb ; Jet OLEDB:Database Password = admin" cnx = New OleDbConnection cnx.ConnectionString = conn cnx.Open() cmd = New OleDbCommand(sql) dta = New OleDbDataAdapter(cmd) cmd.Connection() = cnx dts.Clear() dta.Fill(dts, "UTILISATION_111") dtt = dts.Tables("UTILISATION_111") If dtt.Rows.Count <> 0 Then sql_2 = "SELECT * FROM 'UTILISATION_111')" conn_2 = "provider = microsoft.jet.oledb.4.0 ; data source = O:\espas\Data\Data.mdb ; Jet OLEDB:Database Password = admin" cnx_2 = New OleDbConnection cnx_2.ConnectionString = conn cnx_2.Open() cmd_2 = New OleDbCommand(sql) dta_2 = New OleDbDataAdapter(cmd) cmd_2.Connection() = cnx dts_2.Clear() dta_2.Fill(dts_2, "UTILISATION_111") dtt_2 = dts_2.Tables("UTILISATION_111") cnx_2.Close() For i = 0 To dtt.Rows.Count dtr_2 = dts.Tables("UTILISATION_111").NewRow dtr_2("Nom_machine") = dtt.Rows(i).Item("Nom_machine") dtr_2("Date_log") = dtt.Rows(i).Item("Date_log") dtr_2("Date_delog") = dtt.Rows(i).Item("Date_delog") dts_2.Tables("UTILISATION_111").Rows.Add(dtr_2) Next conn_2 = "provider = microsoft.jet.oledb.4.0 ; data source = C:\util\Data.mdb ; Jet OLEDB:Database Password = admin" cnx_2 = New OleDbConnection cnx_2.ConnectionString = conn cnx_2.Open() cmdb_2 = New OleDbCommandBuilder(dta_2) dta_2.Update(dts_2, "UTILISATION_111") dts_2.Clear() dta_2.Fill(dts_2, "UTILISATION_111") dtt_2 = dts_2.Tables("UTILISATION_111") cnx_2.Close() End If End If Else create_mdb() End If date_log = Today End Sub
dta.Fill(dts, "UTILISATION_111")en disantJe veut bien mais je ne vois pas trop au est l'erreur.Erreur de syntaxe dans la clause FROM.
Je me demander si des rois du VB pouvais bien me filer un coup de main sur ce coup la
Merci d'avance
PS: Désolé pour les fotes
Partager