Transfertext [Résolu]

moi_leila 15 Messages postés mercredi 26 avril 2006Date d'inscription 29 février 2008 Dernière intervention - 18 févr. 2008 à 16:14 - Dernière réponse : gmailhind 10 Messages postés mercredi 30 avril 2008Date d'inscription 6 janvier 2009 Dernière intervention
- 6 janv. 2009 à 11:50
Bonjour,


Comment je peux faire un : 

         "DoCmd.TransferText acExportFixed, spe, "table2", spe1, False"

Sans être obligé d'ouvrir la fenêtre de la base des données car je suis obligée d'ouvrir la bd manuellement pour chaque transfertext.

Merci
Afficher la suite 

Votre réponse

7 réponses

Meilleure réponse
moi_leila 15 Messages postés mercredi 26 avril 2006Date d'inscription 29 février 2008 Dernière intervention - 20 févr. 2008 à 10:34
3
Merci
Merci bcp,
ça marche à la perfection.

1- J'ai défini un mot de passe à la base des données access 2000: Dans le menu Outils, pointez sur Sécurité, puis cliquez sur Définir le mot de passe de la base de données. (dans Access2000)

2- J'ai coché la référence à la Bibliothèque d'objets : Microsoft DAO 3.6 (dans VB6)
3- J'ai crée un module dans VB6 dans lequel j'ai mis le code suivant :

Option Compare Database
Option Explicit

Sub OpenPasswordProtectedDB()

   'Définit la valeur Static de façon à ce que l'instance de Microsoft Access
   'ne se ferme pas lorsque la procédure est terminée.
   Static acc As Access.Application
   Dim db As DAO.Database
   Dim strDbName As String
   strDbName = "C:\Program Files\Microsoft Office\Office\Samples\Northwind.mdb"
   Set acc = New Access.Application
   acc.Visible = True
   Set db = acc.DBEngine.OpenDatabase(strDbName, False, False, ";PWD=nwind")
   acc.OpenCurrentDatabase strDbName
   db.Close
   Set db = Nothing
End Sub

4- Vue que je ne voulais pas que ma base des données soit ouverte et que la structure des table soit vue, j'ai enlevé le "acc.Visible = True" du code.

5- J'ai fait appel  à la procédure dans la feuille.
6- J'ai mit le code suivant pour le transfertext :

DoCmd.TransferText acExportFixed, spe, "table2", spe1, False
DoCmd.TransferText acImportFixed, spe, "table2", spe1, False

Et voilà.

Je ne sais pas comment vous remercier mais vraiment thank you very much,
Que Dieu vous protège

Merci moi_leila 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 76 internautes ce mois-ci

Commenter la réponse de moi_leila
cs_Jack 14010 Messages postés samedi 29 décembre 2001Date d'inscription 28 août 2015 Dernière intervention - 18 févr. 2008 à 16:47
0
Merci
Salut
Je n'ai rien compris à ton problème.
Explique ton environnement, quels objets te utilises ... parce que "ouvrir une fenêtre de base de données" en VB6, je ne vois pas trop de quoi tu parles.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Commenter la réponse de cs_Jack
moi_leila 15 Messages postés mercredi 26 avril 2006Date d'inscription 29 février 2008 Dernière intervention - 18 févr. 2008 à 16:58
0
Merci
En fait, j'ai une base de données Access 2000 et une application vb6.


Je veux importer des fichiers text à ma bd et exporter des tables en fichier text.
Pour se faire j'utilise : (pour l'export)

            "DoCmd.TransferText acExportFixed, spe, "table2", spe1, False"

Si je me contente de faire un opendatabase avant ce code pour ouvrir la bd l'opération d'import/export ne marche pas. Je suis obligée d'ouvrir une fenêtre access manuellement et ouvrir ma bd pour que ça marche.

Je veux savoir si il ya un moyen pour éviter d'ouvrir access et se contenter d'un opendatabase.

Merci
Commenter la réponse de moi_leila
cs_Jack 14010 Messages postés samedi 29 décembre 2001Date d'inscription 28 août 2015 Dernière intervention - 18 févr. 2008 à 17:13
0
Merci
Ok, mais "DoCmd", ça sort d'où ?
C'est surement lié à un type d'objet, mais lequel ?
Dans l'aide DoCmd se rapporte à FoxPro : aucun rapport.
OpenDatabase s'applique aux objets ADO : Ce moteur est obsolète = ne pas l'utiliser
Si DoCmd se rapporte à un objet de type Database, je pense que la syntaxe devrait être  maDatabase.DoCmd  ou quelque chose du genre

Si tu dois maniper des bases Access depuis VB6, je te conseille fortement d'utiliser ADODB et des requètes SQL + RecordSet + séquences d'analyse pour stocker dans un fichier texte.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Commenter la réponse de cs_Jack
PCPT 13368 Messages postés lundi 13 décembre 2004Date d'inscription 3 février 2018 Dernière intervention - 18 févr. 2008 à 18:37
0
Merci
docmd c'est aussi du VBA et non du VB6...
??
Commenter la réponse de PCPT
cs_MPi 3872 Messages postés mardi 19 mars 2002Date d'inscription 13 juillet 2018 Dernière intervention - 20 févr. 2008 à 03:22
0
Merci
Tu pourrais utiliser des objets Access.
Fais une recherche sur Access.Application.

objAccess.DoCmd.TransferSpreadsheet
ou dans ton cas
objAccess.DoCmd.TransferText

MPi²
Pour ceux qui programment sous Office, n'oubliez pas qu'il existe un forum dédié à ces applications VBA....... ICI
Commenter la réponse de cs_MPi
gmailhind 10 Messages postés mercredi 30 avril 2008Date d'inscription 6 janvier 2009 Dernière intervention - 6 janv. 2009 à 11:50
0
Merci
hanouda
koukou
slt tt le monde j ai le même prb mais en vb 2005 si qlq peut m aide svp j ai bloque .
merci
Commenter la réponse de gmailhind

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.