A voir également:
- Access extraire table ds un fichier text/envo
- Table ascii - Guide
- Fichier rar - Guide
- Comment ouvrir un fichier epub ? - Guide
- Comment réduire la taille d'un fichier - Guide
- Extraire une video youtube - Guide
8 réponses
blux
Messages postés
26543
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
21 décembre 2024
3 318
21 oct. 2003 à 17:33
21 oct. 2003 à 17:33
Salut,
pour lire le contenu d'une table tu peux utiliser ce code :
Dim Db As Database
Dim Rs As Recordset
Dim StrSql As String
Set Db = CurrentDb
Set Rs = Db.OpenRecordset("Listes", dbOpenForwardOnly)
With Rs
Do While Not .EOF
If Rs!Nom_Liste = "toto" Then
MsgBox "La liste existe déjà !!!", vbCritical
GoTo Fin:
End If
.MoveNext
Loop
End With
Rs.Close
Rs.Close
Db.Close
Set Rs = Nothing
Set Db = Nothing
Fin:
End Sub
Le nom de la table à lire est "listes" et elle contient entre autres un champ nommé Nom_Liste.
Mais comme le recordset ne parcourt la table que ligne à ligne, il faut que tu insères à chaque lecture une écriture dans un fichier.
Pour ouvrir un fichier en écriture :
Ecr = FreeFile(0)
Open StrEcr For Output Access Write As #Ecr
Pour écrire dedans :
Print #Ecr, champ1,champ2...
Pour fermer :
Close #Ecr
Regarde l'aide, elle est bien faite pour les accès aux fichiers.
Pour l'envoi des données, deux solutions : tu crées un objet de type outlook et tu joues avec, ou tu récupères un contrôle ActiveX sur le net et tu le programmes pour attaquer directement ton serveur SMTP (solution bien plus élégante, un gratos que j'utilise et qui est là :
http://www.ostrosoft.com/smtp.asp )
Ca irait comme explications ?
A+ Blux
pour lire le contenu d'une table tu peux utiliser ce code :
Dim Db As Database
Dim Rs As Recordset
Dim StrSql As String
Set Db = CurrentDb
Set Rs = Db.OpenRecordset("Listes", dbOpenForwardOnly)
With Rs
Do While Not .EOF
If Rs!Nom_Liste = "toto" Then
MsgBox "La liste existe déjà !!!", vbCritical
GoTo Fin:
End If
.MoveNext
Loop
End With
Rs.Close
Rs.Close
Db.Close
Set Rs = Nothing
Set Db = Nothing
Fin:
End Sub
Le nom de la table à lire est "listes" et elle contient entre autres un champ nommé Nom_Liste.
Mais comme le recordset ne parcourt la table que ligne à ligne, il faut que tu insères à chaque lecture une écriture dans un fichier.
Pour ouvrir un fichier en écriture :
Ecr = FreeFile(0)
Open StrEcr For Output Access Write As #Ecr
Pour écrire dedans :
Print #Ecr, champ1,champ2...
Pour fermer :
Close #Ecr
Regarde l'aide, elle est bien faite pour les accès aux fichiers.
Pour l'envoi des données, deux solutions : tu crées un objet de type outlook et tu joues avec, ou tu récupères un contrôle ActiveX sur le net et tu le programmes pour attaquer directement ton serveur SMTP (solution bien plus élégante, un gratos que j'utilise et qui est là :
http://www.ostrosoft.com/smtp.asp )
Ca irait comme explications ?
A+ Blux
"Les cons, ça ose tout. C'est même à ça qu'on les reconnait"
Utilisateur anonyme
21 oct. 2003 à 13:30
21 oct. 2003 à 13:30
Salut,
Tu dois procéder de la manière suivante:
A. Définir to format d'export:
1. Tu ouvre la table que tu veux exporter
2. Dans le menu File, tu choisis Save As/Export
3. Tu choisis comme type de fichier "Text"
4. Un dialogue apparaît dans le quel tu spécifies le format d'export
5. Tu cliques sur "Advanced" et tu sauvegardes ces spécifications
B. Das un form, tu crées un boutons auquel tu lies la commande suivante:
DoCmd.TransferText acExportFixed, Nom_de_tes_specs, Nom_de_ta_table, Nom_du_fichier_texte
Pour ce qui est de l'envoi par mail, je ne sais pas.
Rien n'est plus dangereux qu'une idée quand on a
qu'une idée :-)
Tu dois procéder de la manière suivante:
A. Définir to format d'export:
1. Tu ouvre la table que tu veux exporter
2. Dans le menu File, tu choisis Save As/Export
3. Tu choisis comme type de fichier "Text"
4. Un dialogue apparaît dans le quel tu spécifies le format d'export
5. Tu cliques sur "Advanced" et tu sauvegardes ces spécifications
B. Das un form, tu crées un boutons auquel tu lies la commande suivante:
DoCmd.TransferText acExportFixed, Nom_de_tes_specs, Nom_de_ta_table, Nom_du_fichier_texte
Pour ce qui est de l'envoi par mail, je ne sais pas.
Rien n'est plus dangereux qu'une idée quand on a
qu'une idée :-)
bonjour,
je me permet de t'ecrire en direct parce que ta réponse me fait penser que tu as la sol à mon probleme
je prends un autre exemple pour que ce soit plus facile a expliquer:
j'ai une base access qui regroupe toutes les factures de tous mes clients.
je voudrais pour chaque client, exporter 1 fichier .txt qui regroupe toutes ses factures.
en gros, je fais un requete selection, j'isole un client, j'exporte le fichier .txt et je recommence pour le 2eme client et ainsi de suite. 250 fois la meme manip super simple.
je suis sure qu'il y a moyen de faire une macro simple pour automatiser tout ca mais je n'y connais rien en macro.
quelqu'un pourrait il m'aider SVP?
Merci beaucoup
jb
je me permet de t'ecrire en direct parce que ta réponse me fait penser que tu as la sol à mon probleme
je prends un autre exemple pour que ce soit plus facile a expliquer:
j'ai une base access qui regroupe toutes les factures de tous mes clients.
je voudrais pour chaque client, exporter 1 fichier .txt qui regroupe toutes ses factures.
en gros, je fais un requete selection, j'isole un client, j'exporte le fichier .txt et je recommence pour le 2eme client et ainsi de suite. 250 fois la meme manip super simple.
je suis sure qu'il y a moyen de faire une macro simple pour automatiser tout ca mais je n'y connais rien en macro.
quelqu'un pourrait il m'aider SVP?
Merci beaucoup
jb
Utilisateur anonyme
21 oct. 2003 à 15:58
21 oct. 2003 à 15:58
Je crois que tu n'as pas compris mon explication. Il est inutile d'utiliser Openddatabase ou recordset pour faire ce que tu veux. Une seule ligne de commande suffit à faire ce que tu désires (partie export).
Pour pouvoir exporter une table en VBA il faut que tu définisses préalablement ton format d'export. Tu utilises en suite ce format pour créer ton fichier texte.
Il est inutile d'ouvrir la table avec un Opendatabase ou Openrecordset. La commande Docmd.TransferText le fait sans aucun problème.
La table ne doit pas être lues pour être exportée.
Donc si tu crées un Form avec un bouton que tu nomes "Envoyer", cela donnera quelque chose comme ça:
Sub Envoyer_Click()
DoCmd.TransferText acExportFixed, Nom_de_tes_specs, Nom_de_ta_table, Nom_du_fichier_texte
Code permettant d'envoyer le fichier par mail (que je ne connais pas)
End Sub
Rien n'est plus dangereux qu'une idée quand on a
qu'une idée :-)
Pour pouvoir exporter une table en VBA il faut que tu définisses préalablement ton format d'export. Tu utilises en suite ce format pour créer ton fichier texte.
Il est inutile d'ouvrir la table avec un Opendatabase ou Openrecordset. La commande Docmd.TransferText le fait sans aucun problème.
La table ne doit pas être lues pour être exportée.
Donc si tu crées un Form avec un bouton que tu nomes "Envoyer", cela donnera quelque chose comme ça:
Sub Envoyer_Click()
DoCmd.TransferText acExportFixed, Nom_de_tes_specs, Nom_de_ta_table, Nom_du_fichier_texte
Code permettant d'envoyer le fichier par mail (que je ne connais pas)
End Sub
Rien n'est plus dangereux qu'une idée quand on a
qu'une idée :-)
en fait on me demande de faire ça avec recordset car je devrai faire exactement la meme manip sur vb.
a la base j'ai commancé a le faire avec vb ms comme on ne voit pas ou vient l'errreur on m'a demander de le faire sur access.
voila je dois m 'exercer en ligne de commande.
helpppp apres j'arrete de t'enbetter
a la base j'ai commancé a le faire avec vb ms comme on ne voit pas ou vient l'errreur on m'a demander de le faire sur access.
voila je dois m 'exercer en ligne de commande.
helpppp apres j'arrete de t'enbetter
merci bcp t'es un amour
blux
Messages postés
26543
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
21 décembre 2024
3 318
22 oct. 2003 à 08:17
22 oct. 2003 à 08:17
Merci, c'est ce que me dit ma petite femme tous les matins... ;-)
A+ Blux
A+ Blux
"Les cons, ça ose tout. C'est même à ça qu'on les reconnait"
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
J'aimerais savoir comment a partir d'un texte, je peux supprimer les mots inutiles (du, de, la, un,...) et ensuite sauvegarder les mots restants en leur attribuant un numero. ( le langage que j'utilise est le C++ et je debute)
Salut à tous,
J'aimerais lire/écrire une classe Qt (QMap) dans un fichier. Si quelqu'un peut m'aider, ce serait pas mal du tout. Merci.
J'aimerais lire/écrire une classe Qt (QMap) dans un fichier. Si quelqu'un peut m'aider, ce serait pas mal du tout. Merci.
Bonjour à tous,
J'aimerais savoir s'il est possible de faire la démarche inverse:
- je souhaite partir d'un fichier texte structuré mais non séquentiel, ni indexé
- extraire les données qui m'interesse et les mettre dans une table access.
Est ce nécessaire à votre avis de passer par du code VB pour lire le texte et le reformater ?
Merci pour votre aide
YB
J'aimerais savoir s'il est possible de faire la démarche inverse:
- je souhaite partir d'un fichier texte structuré mais non séquentiel, ni indexé
- extraire les données qui m'interesse et les mettre dans une table access.
Est ce nécessaire à votre avis de passer par du code VB pour lire le texte et le reformater ?
Merci pour votre aide
YB
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
1 juin 2006 à 19:34
1 juin 2006 à 19:34
Salut,
Les données que tu les obtiendra serront enregistrées dans un fichier .txt qui normalement peuvent être importé dans une table Access.
Donc l'étape la plus difficile c'est de parser le fichier .txt
En ce cas essaie avec un langage script Perl, Python avec leur regex et oublie le parsing de text avec VB.
Si tu as la structure de ton fichier et ce que tu veux obtenir tu n'as qu'à le dire et on verra si on peut le traiter pour obtenir ce que tu veux.
Ca peut être une bonne experience. A toi de voir.
lami20j
Les données que tu les obtiendra serront enregistrées dans un fichier .txt qui normalement peuvent être importé dans une table Access.
Donc l'étape la plus difficile c'est de parser le fichier .txt
En ce cas essaie avec un langage script Perl, Python avec leur regex et oublie le parsing de text avec VB.
Si tu as la structure de ton fichier et ce que tu veux obtenir tu n'as qu'à le dire et on verra si on peut le traiter pour obtenir ce que tu veux.
Ca peut être une bonne experience. A toi de voir.
lami20j
salut a tous.
je suis developpeur debutant, et j'aimerais un petit renseignement:
on me demande pour mon stage de faire une appli en vba (sous access) permettant d'extraire une table access, vers un fichier texte mais selon certaine sépicificités.
pour le moment on ne m'a pas donnée les spécificité.
ce que je veux dire par spécificité, c'est doit on rajouter des caractere entre deux champs de la table, ou si on doit mettre un espace entre deux champs, etc etc.
si c'est possible de le faire, pourriez vous m'aider? pour que je fasse des test seuls, et puis lorsque j'aurais les spécificité, je saurais plus ou moins comment faire.
Merci a tous
je suis developpeur debutant, et j'aimerais un petit renseignement:
on me demande pour mon stage de faire une appli en vba (sous access) permettant d'extraire une table access, vers un fichier texte mais selon certaine sépicificités.
pour le moment on ne m'a pas donnée les spécificité.
ce que je veux dire par spécificité, c'est doit on rajouter des caractere entre deux champs de la table, ou si on doit mettre un espace entre deux champs, etc etc.
si c'est possible de le faire, pourriez vous m'aider? pour que je fasse des test seuls, et puis lorsque j'aurais les spécificité, je saurais plus ou moins comment faire.
Merci a tous