saidmansour
Messages postés51Date d'inscriptionvendredi 1 juin 2007StatutMembreDernière intervention13 octobre 2012
-
16 mai 2012 à 17:35
NHenry
Messages postés15114Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention 4 mai 2024
-
17 mai 2012 à 02:11
voici mon code source
si quelqu'un peux m'aider je veux incrémenter
la colone matricule d'une table cariére(acces) et si je trouve deux matricules égaux le format d'export change
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, "0000000008" & Right("0000000000" + Trim(rsttable!matricule), 10) & Left(rsttable!Nom + Space(40), 40) & Left(rsttable!Prenom + Space(40), 40) & Format$(rsttable!datenaissance, "ddMMyyyy") & rsttable!sexe & Format$(rsttable!DateDebut, "ddMMyyyy") & Format$(rsttable!DateFin, "ddMMyyyy") & Right("00" + Trim(rsttable!idq), 2) & Right("00" + Trim(rsttable!idpos), 2) & Right("0000" + Trim(rsttable!idg), 4) & Right("0000" + Trim(rsttable!idf), 4) & Right("00" + Trim(rsttable!idts), 2) ; ""
rsttable.MoveNext
Wend
Close #1
rsttable.Close
Unload Me
End Sub
***********************************************
c'est le syntaxe normale
je veux que si j'incrimente le table cariére et lorsque je trouve deux matricules agaux
ce champ:
y = Format$(rsttable!DateDebut, "ddMMyyyy") & Format$(rsttable!DateFin, "ddMMyyyy") & Right("00" + Trim(rsttable!idq), 2) & Right("00" + Trim(rsttable!idpos), 2) & Right("0000" + Trim(rsttable!idg), 4) & Right("0000" + Trim(rsttable!idf), 4) & Right("00" + Trim(rsttable!idts), 2)
s'ajoute au premier ligne c'est à dire par exemple:
voici le contenu de fichier export
jordane45
Messages postés38167Date d'inscriptionmercredi 22 octobre 2003StatutModérateurDernière intervention 7 mai 2024344 16 mai 2012 à 18:32
Bonjour à toi également.
Dans un premier temps je me permettrai de te faire quelques remarques sur la "forme" de ton sujet :
1 - TOn tire, bien que très acceuillant, n'est pas très pertinent... si quelqu'un doit faire une recherche sur le forum sur un sujet identique au tient passera surement à côté ( tous comme les titres dont le texte est : AIDE , Help , urgent.., etc... )
2 - Il semble que le Code que tu as posté soit du VBA. Tu ne l'as donc pas mis dans la bonne section du forum.
3 - Lorsque l'on poste du code... il serait souhaitable (voir INDISPENSABLE ) d'utiliser les balises de code (3 eme Icone en partant de la droite lorsque tu rédiges un message )
Ensuite, là tout de suite je n'ai pas le temps de lire ton code ..
Pourrais tu nous indiquer ou est-ce qu'il bloque ? Ou alors.. est-ce que le résultat n'est pas correcte ?
Cordialement,
Jordane,
______________________________________________________
Règles du forum à lire avant de poster une question : ICI
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 16 mai 2012 à 18:34
Salut
Garde en tête que le titre d'une question sert aux autres utilisateurs pour trouver des réponses à des questions du même genre. Donc "Bonjour tous le mode" n'a aucun intérêt.
Tu auras remarqué que ton code ne ressemble à rien une fois collé.
Utilise la coloration syntaxique (3ème icone à droite) = lisible.
Dans ton code VB, pense à utiliser le symbole _ pour faire un retour à la ligne de la suite de ta commande.
Des lignes de 200 caractères de longs sont illisibles.
Je n'ai pas regardé ton code (pour les raisons citées au dessus).
Si tu dois savoir si une ligne est double, il te faut retarder l'écriture de la ligne et une fois que tu auras lu la suivante, tu décideras s'il faut, ou pas, changer le format.
- Prépare donc autant de variables texte que tu as de champs à découper
- lit une première ligne et rentre les données dans ces variables
- lit une seconde ligne
- compare avec la première :
.. si différente : format 1 avec les variables en attente
.. si identique : format 2 avec les variables en attente
- rentre les données de la deuxième ligne lue dans les variables
- recommence
En sortant de ta boucle, il faudra penser à écrire les dernières données mémorisées.
Vala
Jack, MVP VB NB : Je ne répondrai pas aux messages privés
Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Il n'a toujours pas compris mes messages de ce sujet et continue ...
---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualVasic (onglet Références dans les propriétés du projet).
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list ---
Mon site
Vous n’avez pas trouvé la réponse que vous recherchez ?
saidmansour
Messages postés51Date d'inscriptionvendredi 1 juin 2007StatutMembreDernière intervention13 octobre 2012 17 mai 2012 à 01:47
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("0000"+Trim(rsttable!direction,4);""
rsttable.MoveNext
Wend
Close #1
rsttable.Close
Unload Me
End Sub