Code VBA access
Résolu
SB
-
SB -
SB -
Bonjour,
Bonjour j'ai créer un code VBA pour exporter des champs de ma base de données access vers un ficheir texte sa marche bien y a pas de souci.
Seuelement je voudrais rajouter une ligne de code.
Voici le code que je voudrais rajouter : SI le code collaborateur = "" alors on ne l'exporte aps mais je ne sais pas comment on fait pour lui dire de ne pas exporte???
Voici mon code pour exporter :
Private Sub Commande30_Click()
Dim bd As Database
Dim rst As Recordset
Dim rs As Recordset
Dim ligne As String
Dim ligne1 As String
Set bd = OpenDatabase("SaisieSalariés.mdb")
Set rst = bd.OpenRecordset("Salariés")
Set rs = bd.OpenRecordset("liste des agences")
If Not (rst.EOF And rst.BOF) Then
Open "\\samba\commun\MajReg\envoimaj\TableSalaries.txt" For Binary As #1
rst.MoveFirst
Do While Not rst.EOF
ligne = rst("Code collaborateur") & ";" & rst("No salarie") & ";" & rst("Nom") & ";" & rst("Prénom") & ";" & rst("Fonction") & ";" & rst("Fonction 2") & ";" & rst("Nom Société") & ";" & rst("Site") & ";" & rst("Service/secteur") & ";" & rst("Tél Prof") & ";" & rst("Tel Fax") & ";" & rst("No Port")
Call EcritLigne(1, ligne)
rst.MoveNext
Loop
Close #1
Else
'pas d'enregistrements
End If
Merci a ceux qui pourront m'aider a rajouter le petit bout de code.
Bonjour j'ai créer un code VBA pour exporter des champs de ma base de données access vers un ficheir texte sa marche bien y a pas de souci.
Seuelement je voudrais rajouter une ligne de code.
Voici le code que je voudrais rajouter : SI le code collaborateur = "" alors on ne l'exporte aps mais je ne sais pas comment on fait pour lui dire de ne pas exporte???
Voici mon code pour exporter :
Private Sub Commande30_Click()
Dim bd As Database
Dim rst As Recordset
Dim rs As Recordset
Dim ligne As String
Dim ligne1 As String
Set bd = OpenDatabase("SaisieSalariés.mdb")
Set rst = bd.OpenRecordset("Salariés")
Set rs = bd.OpenRecordset("liste des agences")
If Not (rst.EOF And rst.BOF) Then
Open "\\samba\commun\MajReg\envoimaj\TableSalaries.txt" For Binary As #1
rst.MoveFirst
Do While Not rst.EOF
ligne = rst("Code collaborateur") & ";" & rst("No salarie") & ";" & rst("Nom") & ";" & rst("Prénom") & ";" & rst("Fonction") & ";" & rst("Fonction 2") & ";" & rst("Nom Société") & ";" & rst("Site") & ";" & rst("Service/secteur") & ";" & rst("Tél Prof") & ";" & rst("Tel Fax") & ";" & rst("No Port")
Call EcritLigne(1, ligne)
rst.MoveNext
Loop
Close #1
Else
'pas d'enregistrements
End If
Merci a ceux qui pourront m'aider a rajouter le petit bout de code.
A voir également:
- Code VBA access
- Code ascii - Guide
- Code puk bloqué - Guide
- Comment déverrouiller un téléphone quand on a oublié le code - Guide
- Code activation windows 10 - Guide
- Code blocks - Télécharger - Langages
4 réponses
Bonjour,
Suggestion :
Lupin
Suggestion :
Private Sub Commande30_Click() Dim bd As Database Dim rst As Recordset Dim rs As Recordset Dim ligne As String Dim ligne1 As String Set bd = OpenDatabase("SaisieSalariés.mdb") Set rst = bd.OpenRecordset("Salariés") Set rs = bd.OpenRecordset("liste des agences") If Not (rst.EOF And rst.BOF) Then Open "\\samba\commun\MajReg\envoimaj\TableSalaries.txt" For Binary As #1 rst.MoveLast rst.MoveFirst Do While Not rst.EOF If (rst("Code collabotateur") <> "") Then ligne = rst("Code collaborateur") & ";" & rst("No salarie") & ";" & rst("Nom") & ";" & rst("Prénom") & ";" & rst("Fonction") & ";" & rst("Fonction 2") & ";" & rst("Nom Société") & ";" & rst("Site") & ";" & rst("Service/secteur") & ";" & rst("Tél Prof") & ";" & rst("Tel Fax") & ";" & rst("No Port") Call EcritLigne(1, ligne) End If rst.MoveNext Loop Close #1 Else 'pas d'enregistrements End If End Sub '
Lupin
Merci lupin mais ça ne marche pas, le client dont le code collaborateur est vide s'exporte tjs dans le fichier texte...
En meme temps, je ne vois pas quelle commande tu as rajouté dans le code pour que sa ne s'exporte pas?
Tu fais le "If" mais aprés y'a pas la commande permettant de ne pas l'exporter!
Merci Lupin
En meme temps, je ne vois pas quelle commande tu as rajouté dans le code pour que sa ne s'exporte pas?
Tu fais le "If" mais aprés y'a pas la commande permettant de ne pas l'exporter!
Merci Lupin
re:
en fait je ne sais pas vraiment ce qui se passe. Il faudra effectuer
un déboggage en mode pas à pas ou ajouter du code !
il serait possible que la valeur de [ rst("Code collaborateur") ] soit
différente [ <> ] de rien [ "" ] genre un espace [ " " ] ?
quoi qu'il en soit trace avec du contrôle et/ou du code plus explicit,
comme :
Dim Longueur As Long
dim Chaine As String
Lupin
en fait je ne sais pas vraiment ce qui se passe. Il faudra effectuer
un déboggage en mode pas à pas ou ajouter du code !
il serait possible que la valeur de [ rst("Code collaborateur") ] soit
différente [ <> ] de rien [ "" ] genre un espace [ " " ] ?
quoi qu'il en soit trace avec du contrôle et/ou du code plus explicit,
comme :
Dim Longueur As Long
dim Chaine As String
Do While Not rst.EOF Chaine = Trim(rst("Code collaborateur").Value) Longueur = Len(Chaine) If (Longueur > 0) Then ligne = rst("Code collaborateur") & ";" & _ rst("No salarie") & ";" & _ rst("Nom") & ";" & _ rst("Prénom") & ";" & _ rst("Fonction") & ";" & _ rst("Fonction 2") & ";" & _ rst("Nom Société") & ";" & _ rst("Site") & ";" & _ rst("Service/secteur") & ";" & _ rst("Tél Prof") & ";" & _ rst("Tel Fax") & ";" & _ rst("No Port") Call EcritLigne(1, ligne) End If rst.MoveNext Loop
Lupin