exporter une table sous acess en .csv via vb6 - VB/VBA/VBS - Programmation
Marsh Posté le 20-07-2006 à 17:16:43
pour le reste, je ne vois pas ce qui cloche dans ton code.
t'as une erreur ?
vérifie que recordcount est > 0
=> en effet, des fois ça bug, toutes les doc de m$ disent de ne pas l'utiliser
Marsh Posté le 20-07-2006 à 18:09:58
ah si ca marche en faite le truc c'est que le fichier a déja été créé
Marsh Posté le 20-07-2006 à 18:12:16
1/ au faite est-ce que tu saurai comment faire pour permette à l'utilisateur lui-même de choisir un nom pour le fichier csv, parceque ici ca crée tout seul le fichier siteStation.csv
2/ Et aussi comment fait t-on pour faire une requète sur plusieurs tables ?
Par exemple sur une table, j'arrive à faire, c'est:
requete = "select T11, T12, T13, T14 from T1"
Set SiteSta = gCurrentDB.OpenRecordset(requete)
mais si je veux aussi les champs t21, T22 de la table 2, comment on fait ?
Marsh Posté le 19-07-2006 à 17:40:48
Bonjour, voilà j'ai un probleme avec mon code, je n'arrive pas à exporter ma table T1 contenant trois champs T11, T12, T13
ma form contient un bouton et un commondialog nommé SiteSta
les champs 133 et 134 représente les identifiants et mot de passe de l'utilisateur.
Apparemment, lorsque je fait un msgBox T12, ca apparait avec un msgbox vide.
Voici mon code:
Private Sub Command1_Click()
Dim SiteSta As Recordset
Dim NbrImageSiteSta As Integer
Dim T11, T12, T13 As String
Dim T1 As Database
Dim chemindataexport_asciiSiteSta As String
chemindataexport_asciiSiteSta = App.Path + "\" + "SiteStation.csv"
GUsername = "USER"
GUserpasse = "USER"
Gutilisateur = GUsername
Gpasse = GUserpasse
Set SiteSta = gCurrentDB.OpenRecordset("select T11, T12, T13 from T1 Where T1.T133 = '" & GUsername & "' and T1.T134 = '" & GUserpasse & "' and T1.T11 = '" & Vsociete & "'", dbOpenDynaset)
NbrImageSiteSta = SiteSta.RecordCount
MsgBox T12
If NbrImageSiteSta > 0 Then
Open chemindataexport_asciiSiteSta For Output As #1
SiteSta.MoveFirst
Do While Not SiteSta.EOF
If SiteSta("T11" ) <> "" Then T11 = CStr(SiteSta("T11" ))
If SiteSta("T12" ) <> "" Then T12 = CStr(SiteSta("T12" ))
If SiteSta("T13" ) <> "" Then T13 = CStr(SiteSta("T13" ))
stringtempA = T11 + ";" + T12 + ";" + T13 + ";"
stringtempSiteSta = stringtempA
Print #1, stringtempSiteSta
SiteSta.MoveNext
Loop
'MsgBox "End"
SiteSta.Close
Close #1
Else
Exit Sub
End If
End Sub
Si vous avez des conseilles pour améliorer mon code ou trouvé des fautes, n'hésitez pas. La problème c'est surtout la connexion à la base access sous 97 qui fonctionne pas.
Merci pour votre aide.
Message édité par DeadKiller le 19-07-2006 à 17:42:03