KioskeaKioskeaCommentCaMarcheInscrivez-vous, c'est gratuit !
Samedi 17 mai 2008 - 07:52:32

[vb] exporter une table vers fichier csv

Rechercher : dans
[vb] exporter une table vers fichier csv
par predateur
 Fil de Discussions
Statut : Non résolu
mardi 18 juillet 2006 à 02:53:35
Bonjour,

Donc voilà j'ai une base access avec comme table T1 contenant trois champs.

Voici mon code d'exportation:

Private Sub Command1_Click()
Dim SiteSta As dynaset
Dim NbrImageSiteSta As Integer
Dim Vsociete, Vadresse, Vcp As String
Dim chemindataexport_asciiSiteSta As String
chemindataexport_asciiSiteSta = App.Path + "\" + "SiteStation.csv"

requete = "select * from T1"
Set SiteSta = gCurrentDB.CreateDynaset(requete)
NbrImageSiteSta = SiteSta.RecordCount


If NbrImageSiteSta > 0 Then
Open chemindataexport_asciiSiteSta For Output As #1
  SiteSta.MoveFirst
  Do While Not SiteSta.EOF
  If SiteSta("Vsociete") <> "" Then Vsociete = CStr(SiteSta("Vsociete"))
  If SiteSta("Vadresse") <> "" Then Vadresse = CStr(SiteSta("Vadresse"))
  If SiteSta("Vcp") <> "" Then Vcp = CStr(SiteSta("Vcp"))
      EmeActive = CStr(-1)
    Else
      EmeActive = CStr(0)
    End If
  End If
  
  stringtempA = Vsociete + ";" + Vadresse + ";" + Vcp + ";"
  
  stringtempSiteSta = stringtempA


   Print #1, stringtempSiteSta




  SiteSta.MoveNext
  
  Loop
  MsgBox "End"
  SiteSta.Close
  Close #1

Else
  Exit Sub
End If
End Sub




et dans ma forme, j'ai mis un bouton et commondialog (c'est ce qu'on m'a conseillé de mettre).

L'erreur que j'obtiens avec vb6 est

Compiler error:
User-defined type not defined

sur le deuxième ligne lorsque je déclare
Dim SiteSta As dynaset

Pourriez vous m'aider svp, il s'agit de mon premier programme et je débute encore.

Merci beaucoup pour votre aide.
Répondre à predateur  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par predateur, le mardi 18 juillet 2006 à 16:46:26 Fil de Discussions
up
Répondre à predateur

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par predateur, le mercredi 19 juillet 2006 à 01:23:13 Fil de Discussions
J'ai encore du mal avec mon script. J'ai essayé de le simplifié, et ca donne:

Private Sub Command1_Click()
Dim SiteSta As Recordset
Dim NbrImageSiteSta As Integer

Dim Vsociete, Vadresse, Vcp As String
Dim chemindataexport_asciiSiteSta As String
chemindataexport_asciiSiteSta = App.Path + "\" + "SiteStation.csv"
requete = "select * from T1"
Set SiteSta = gCurrentDB.OpenRecordset(requete)
NbrImageSiteSta = SiteSta.RecordCount

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 = Vsociete + ";" + Vadresse + ";" + Vcp + ";"
 
  stringtempSiteSta = stringtempA


   Print #1, stringtempSiteSta




  SiteSta.MoveNext
 
  Loop
  MsgBox "End"
  SiteSta.Close
  Close #1

Else
  Exit Sub
End If
End Sub



Donc, je rappelle à tout hazard, que ma form contient un bouton command1 et un commonDialog qui s'appelle SiteSta. Ma table s'appelle T1 et les trois champs sont T11, T12 et T13 (pour s'implifier)

Donc quand j'éxécute ce script, j'obtiens un msgbox où y a marqué End

Bizarre.
Répondre à predateur

3


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par predateur, le mercredi 19 juillet 2006 à 05:34:41 Fil de Discussions
oops, j'ai commis honteusement des fautes de noms pour mes champs T11,T12et T13.

Toujours est t-il que j'ai le msgbox End car il n'arrive pas à trouver ma base de donnée
Répondre à predateur

4


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par predateur, le mercredi 19 juillet 2006 à 19:27:06 Fil de Discussions
Bon, je viens de modifier encore mon code.

En faite, le problème c'est la connexion à la base accesss sous 97 où il y a problème.

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.


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
Répondre à predateur

5


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par predateur, le jeudi 20 juillet 2006 à 17:15:12 Fil de Discussions 
up
Répondre à predateur
Discussions pertinentes trouvées dans le forum
27/09 16h05export table sous oracle vers fichier txtProgrammation03/10 13h001
04/05 15h31[vba] exporter sa BD vers CSVProgrammation04/05 15h310
04/07 08h18export fichier csv vers OutlookProgrammation04/07 08h180
17/03 20h50[VB] Exporter vers un .txtProgrammation03/04 16h088
Plus de discussions sur « [vb] exporter une table vers fichier csv » Discussion en cours Discussion fermée Problème résolu
Répondre
Titre du message :
Votre pseudo:
Votre email :
Message: 
  •  
  •  
Options: Recevoir les réponses par mail.
 

Aide