Incrementer une table acces et exportation vers fichier text

Résolu
saidmansour
Messages postés
51
Date d'inscription
vendredi 1 juin 2007
Statut
Membre
Dernière intervention
13 octobre 2012
- 17 mai 2012 à 01:17
saidmansour
Messages postés
51
Date d'inscription
vendredi 1 juin 2007
Statut
Membre
Dernière intervention
13 octobre 2012
- 23 mai 2012 à 00:46
bonjour
j'ai une base de données acces contenant une table carrière avec les champs suivantes:
matricule,nom,prénom,service,direction.
je veux exporter le contenu dans un fichier
sous format
matricule(10char)&nom(40char)&prénom(40char)&service(2 char)& direction (4char)
mais avant de retourner à la ligne je vérifié la ligne suivante si le même matricule j'ajoute:
& service & direction au premier ligne et c'est ça exactement mon pb l'export sans vérification je l'ai déjà fait sans problème mais me manque la vérification. voici mon code

voici mon code source:





Private Sub Command1_Click()
Set MaConn = New ADODB.Connection
MaConn.Provider = "Microsoft.Jet.OLEDB.4.0;"
MaConn.Open "C:\personnel\GCP.mdb"
Set rsttable = New ADODB.Recordset
rsttable.Open "cariére", MaConn, , ,adCmdTable
Open "C:\personnel\EXPORT.txt" For Output As#1
While Not rsttable.EOF

Print#1,& Right("0000000000"+_ Trim(rsttable!matricule),10)& Left(rsttable!Nom +_ Space(40),40)& Left(rsttable!Prenom +_ Space(40),40)&_ Right("00"+_ Trim(rsttable!service),2)& Right("00"+_ Trim(rsttable!direction),2); ""
rsttable.MoveNext
Wend
Close #1
rsttable.Close
Unload Me
End Sub




merci

31 réponses

saidmansour
Messages postés
51
Date d'inscription
vendredi 1 juin 2007
Statut
Membre
Dernière intervention
13 octobre 2012

18 mai 2012 à 01:25
ça n'a pas marché correctement
je crois il faux introduire la fonction for.
je vous donne un exemple réel pour mieux comprendre la situation:

exemple:

la table cariére contient:

ligne1:
matricule=30,nom=mohamed,prenom=salah,service=1,direction=2
ligne2:
matricule=30,nom=mohamed,prenom=salah,service=3,direction=1
ligne3:
matricule=30,nom=mohamed,prenom=salah,service=4,direction=5
ligne4:
matricule=40,nom=sami,prenom=omar,service=1,direction=3

le fichier txt est donc
ligne1:
30 mohamed salah 1 2 3 1 4 5
ligne2:
40 sai omar 1 3

etc...jusqu'a la fin du table cariére.


je suis vraiment disolé pour le dérangement
0
saidmansour
Messages postés
51
Date d'inscription
vendredi 1 juin 2007
Statut
Membre
Dernière intervention
13 octobre 2012

18 mai 2012 à 11:03
bonjour,

Mr LIBRE_MAX

si je je peux le faire moi seul je ne vous pose pas des question d'aide

merci pour votre comprehension
0
saidmansour
Messages postés
51
Date d'inscription
vendredi 1 juin 2007
Statut
Membre
Dernière intervention
13 octobre 2012

18 mai 2012 à 12:22
h
0
LIBRE_MAX
Messages postés
1402
Date d'inscription
mardi 1 mai 2007
Statut
Membre
Dernière intervention
7 octobre 2012
5
18 mai 2012 à 12:48
Ok !
rééssayons encore...

Dim xMatricule As String, xNom, As String, _
xPrenom As String, xService As String, xDiretion As String

With rsttable
   'on se positionne sur le premier et on sauvegarde.
   .MoveFirst

     xMatricule=!matricule
     xNom=!nom
     xPrenom=!prenom
     xService= !service
     xDirection=!direction

   'on passe au suivant
   .MoveNext

While Not .EOF 
  
    'on teste
   if xMatricule=!matricule Then
      print#1, xMatricule & xNom & xPrenom & _
            xService & xDirection & _
            !service & !direction
   
   Else 
       print#, !matricule & !nom & !prenom & _
                 !service & !direction

   End If

'On sauvegarde les champs courants avant de passer à l' enregistrement suivant.
     xMatricule=!matricule
     xNom=!nom
     xPrenom=!prenom
     xService=!service
     xDirection=!direction

'on passe au suivant
.MoveNext 

Wend 

End With




[] Ce qui va sans dire. va mieux en le disant.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
saidmansour
Messages postés
51
Date d'inscription
vendredi 1 juin 2007
Statut
Membre
Dernière intervention
13 octobre 2012

18 mai 2012 à 21:13
bonjour
ça pas marché

je dois pas trouvé dans le fichier txt(export)
deux lignes ayant le même matricule
c'est à dire je dois trouver un seul ligne pour chaque matricule
0
saidmansour
Messages postés
51
Date d'inscription
vendredi 1 juin 2007
Statut
Membre
Dernière intervention
13 octobre 2012

18 mai 2012 à 23:35
[^^happy10]
[^^!1]
0
LIBRE_MAX
Messages postés
1402
Date d'inscription
mardi 1 mai 2007
Statut
Membre
Dernière intervention
7 octobre 2012
5
19 mai 2012 à 00:42
c' est comme ça que tu nous aides (tu t' aides!) ?
En envoyant des smileys et des exclamations ?

C' est pas du chat ici.
Ici c' est de l' entraide dans le vrai sens du terme et dans les deux sens..

J'arrête.
Bonne continuation.


[] Ce qui va sans dire. va mieux en le disant.
0
saidmansour
Messages postés
51
Date d'inscription
vendredi 1 juin 2007
Statut
Membre
Dernière intervention
13 octobre 2012

19 mai 2012 à 12:24
ça n'a pas marché

erreur de syntaxe dans la clause from
0
saidmansour
Messages postés
51
Date d'inscription
vendredi 1 juin 2007
Statut
Membre
Dernière intervention
13 octobre 2012

22 mai 2012 à 17:31
merci bien
tout est bon
0
saidmansour
Messages postés
51
Date d'inscription
vendredi 1 juin 2007
Statut
Membre
Dernière intervention
13 octobre 2012

22 mai 2012 à 17:37
j'ai un problème
je veux ajouter un nouveau employé(nouveau matricule)

dans une table acces nommé employes sachant que matricule dans la table est entier long format "0000000000" 10 caractère maximum





Employes.Adodc1.Recordset.AddNew Employes.Adodc1.Recordset!Matricule = cLng(Me.Text16.Text)



un message: erreur d’exécution:'6': dépassement de capacité
0
saidmansour
Messages postés
51
Date d'inscription
vendredi 1 juin 2007
Statut
Membre
Dernière intervention
13 octobre 2012

23 mai 2012 à 00:46
bonjour

Mr. LIBRE_MAX

j'ai un problème
je veux ajouter un nouveau employé(nouveau matricule)

dans une table acces nommé employes sachant que matricule dans la table est entier long format "0000000000" 10 caractère maximum







Employes.Adodc1.Recordset.AddNew Employes.Adodc1.Recordset!Matricule = trim$(cLng(Me.Text16.Text))



un message: erreur exécution:'6': dépassement de capacité
0