begin process at 2012 02 16 11:56:04
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Visual Basic & VB.NET

 > 

Archives Visual Basic

 > 

J'AI BESOIN D'AIDE !!!! :)

 > 

base de donnée


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

base de donnée

vendredi 5 mai 2006 à 19:05:22 | base de donnée

inconnu2nulpar

slt, je voudrai savoir, comment sous access je peut remplir une table a partir d'un fichier text.txt. il faudrais que je crée une macro car le fichier .txt est sans cesse remis a jour, dc il faudrais que je crée une macro qui a la demande de l'utilisateur met à jours la table access.
 

En gros je voudrai avoir une macro qui remplis une table access depuis un fichier .txt

merci
vendredi 5 mai 2006 à 22:20:33 | Re : base de donnée

XtremDuke

Access a un un assistant pour l'importation de données externes au format txt. Si ca peut t'aider....
samedi 6 mai 2006 à 14:30:34 | Re : base de donnée

inconnu2nulpar

ouai mais cette assistant le fait qu'une fois. Moi il me faut une macro qui le fasse a chaque fois que je clic sur un bouton, qq un sait comment on fait?
samedi 6 mai 2006 à 19:33:30 | Re : base de donnée

metalcoder

Membre Club
salut, voici une solution a ton probleme

ouvre un nouveau projet VB avec trois boutons sur la feuille et colle le code dans ta feuille.

ajoute ensuite la reference suivante a ton projet (menu projet/reference et choisis microsoft activex data objects 2.5 ou superieur si tu as .

ensuite il te faut un fichier texte que j'ai appeler essai.txt (le nom doit etre identique si tu veut que cela marche)
il te faut une base access vide avec une table que j'ai appeler Table1 et qui possede un champs que j'ai appeler donnée. le champs "donnée" est au format texte avec une longueur de 255.

le fichier access doit s'appeler essai.Mdb et tout comme le fichier texte il faut qu'il soit située dans le meme repertoire ou tu sauvegardera ce petit programme.



'************CODE*************************
Public Ct As ADODB.Connection
Public rc As ADODB.Recordset

Private Sub Command1_Click()
Set rc = New ADODB.Recordset
rc.Open "Table1", Ct, adOpenKeyset, adModeReadWrite

Open App.Path & "\essai.txt" For Input As #1
While Not EOF(1)
Line Input #1, a
With rc
    .AddNew
    !Donnée = a
    .Update
End With
Wend
Close #1

MsgBox "Mise a Jour OK"

err:
If err.Number = 53 Then
MsgBox "Fichier essai.txt introuvable"
Exit Sub
End If

End Sub

Private Sub Command2_Click()
Set rc = New ADODB.Recordset
rc.Open "Table1", Ct, adOpenKeyset, adModeReadWrite
While Not rc.EOF
    rc.Delete
    rc.MoveNext
Wend

MsgBox "Table1 Effacée"
End Sub

Private Sub Command3_Click()
rc.Close
End
End Sub

Private Sub Form_Load()
On Error GoTo err
Set Ct = New ADODB.Connection

Ct.Provider = "Microsoft.Jet.Oledb.4.0"
Ct.ConnectionString = App.Path & "\Essai.Mdb"
Ct.Open

err:
If err.Number = -2147467259 Then
MsgBox "fichier essai.mdb introuvable"
End
End If

End Sub
samedi 6 mai 2006 à 20:47:40 | Re : base de donnée

inconnu2nulpar

Merci bcp, mais est ce que tu peut me mettre des commentaire pour que je puisse modifier ton prog, car mon fichier text a plusieur champs, il y aura une clé primaire et a coté séparé par une virgule ou un point virgule, une date, et dc je voudrais copier ces 2 champs ds ma table

samedi 6 mai 2006 à 21:36:44 | Re : base de donnée

metalcoder

Membre Club
Bon j'ai pas changé grand chose donc je te met juste le code qui a changé.

Public Ct As ADODB.Connection 'Declaration des variables pour se connecter en mode ADO
Public rc As ADODB.Recordset

Private Sub Command1_Click()
Set rc = New ADODB.Recordset 'Declaration d'une nouvelle connection ADO
rc.Open "Table1", Ct, adOpenKeyset, adModeReadWrite 'Ouverture de la table "Table1" de la base essai.Mdb

Open App.Path & "\essai.txt" For Input As #1 'Ouverture du fichier texte en lecture
While Not EOF(1) 'Tant que ce n'est pas la fin du fichier texte
Input #1, a, b 'la valeur a contient la premiere valeur et B la deuxieme valeur du fichier texte
With rc        'les valeurs du fichier texte doivent etre séparer par des ,
    .AddNew 'On ajoute un enregistrement dans la table1
    !Index = a 'Le champs Index prend la valeur de A
    !Heure = b 'Le champs Heure prend la valeur de B
    .Update
End With
Wend
Close #1 'On ferme le fichier texte

MsgBox "Mise a Jour OK"

err:
'Si le fichier essai.txt n'est pas trouvé on affiche un message
If err.Number = 53 Then
MsgBox "Fichier essai.txt introuvable"
Exit Sub
End If

End Sub

Private Sub Command2_Click()
Set rc = New ADODB.Recordset 'Declaration d'une nouvelle connection ADO
rc.Open "Table1", Ct, adOpenKeyset, adModeWrite 'Ouverture de la table "Table1" en ecriture seulement
While Not rc.EOF 'On boucle tant que la fin n'est pas arrivée
    rc.Delete 'Effacement de l'enregistrement courant
    rc.MoveNext 'On passe a l'enregistrement suivant
Wend

MsgBox "Table1 Effacée"
End Sub

Private Sub Command3_Click()
rc.Close 'Fermeture de la connection ADO
End
End Sub

Private Sub Form_Load()
On Error GoTo err
Set Ct = New ADODB.Connection 'Declaration

Ct.Provider = "Microsoft.Jet.Oledb.4.0"
Ct.ConnectionString = App.Path & "\Essai.Mdb" 'Chemin ou se trouve la base access
Ct.Open

err:
If err.Number = -2147467259 Then
MsgBox "fichier essai.mdb introuvable"
End
End If

End Sub
dimanche 7 mai 2006 à 12:26:51 | Re : base de donnée

inconnu2nulpar

ok merci bcp ! et au fait est ce que c'est possible de suprimé les données que j'ai écrite ds la table access du fichier text.txt? et aussi comment je peut tester ma table access pour que lorsqu'il y a des doublons, j'écrase l'ancien et je mais la nouvelles donner ds ma table ?
dimanche 7 mai 2006 à 12:28:35 | Re : base de donnée

inconnu2nulpar

Et aussi, ds ton programme losrque tu met "ajoute un champs ds la table " cela ajoute un champs sans suprimer ceux qui existe déja ?
dimanche 7 mai 2006 à 12:38:38 | Re : base de donnée

inconnu2nulpar

excuse moi d'écrire plusieur msg , mais pourquoi tu utilise le bouton 2? pourquoi tu efface la table1?

je sait pas si c'est possible, mais je voudrais rajouter a la suite les champs qui se trouvent ds mon fichier text.txt.

 et aussi à la place des virgule il faudrai que j'utlise qqch d'autre car l'assistant access ne veut pas prendre les virgyule comme séparateur car il exporte des date/heure, je sait pas si c'est importatnt ds ton programme ça. 
dimanche 7 mai 2006 à 13:11:17 | Re : base de donnée

metalcoder

Membre Club
le bouton 2 sert juste a effacer toute la table1 si tu en a besoin. Je vais pas te faire le programme completement, je te donne juste une piste ;-))

le probleme c'est que tu va mettre ton fichier texte dans la table1 mais si tu recommence aussitot apres tu va ajouter a la suite, ce qui va faire plein de doublons dans ta table, c'est pour ca que j'avais mis le bouton 2.

mon programme tel qu'il est fait prend la virgule comme separateur

ex: 154,15/05/2006
 
tu va avoir le chiffre 154 dans le champs index de la table1
et 15/05/2006 dans le champs heure de la table1
 
essaye de le modifier, il y a que comme ca que tu va comprendre


Metalcoder

1 2

Cette discussion est classée dans : fichier, access, base, macro, table


Répondre à ce message

Sujets en rapport avec ce message

Renommer table dans access [ par Spawn3107 ] Bonjour tout le monde,J'ai un petit probleme avec ma base de donnée. Je veux renommer ma table dans la base à l'aide d'un bouton. J'ai fait une macro copier table dans une autre base access [ par lezardjet ] BonjourJ'ai chercher sur le forum mais les réponses que je trouve sont trop confuse.J'ai une table. 2 bases. Et je veux copier ma table dans l'autre b transformer un fichier text en une table ACCESS [ par iabraoui ] Bonjour j'aimerais savoir est ce qu'il y a une procedure en code Visual Basic pour transformer un fichier text en une table ACCESS Merci Beaucoup Connexion à une base access [ par linutx ] Bonjour,j'utilise vb 2005 express et j'aimerais me connecter à une base de donnée access pour y récupérer des données et les afficher dans des textbox récuperer un chemin access dans une table [ par alias666 ] Bonjour a tous, je voudrai savoir si cela est possible de récupérer la valeur d'un champ d'un table pour faire un shell.Je m'explique :J'ai une table VB6:Attacher par code une table oracle ds une base access [ par ernestal ] Bonjour ,je suis un jeune développeur VB6 et suite à quelques problèmes que j'ai eus, Je me permets de vous écrire pour vous les soumettre et j'espère Attacher une table Oracle ds une base Access par code [ par ernestal ] Bonjour , Voilà: j'ai une application développée sous VB6 dans laquelle j'ai une base access contenant aussi des tables attachées d'une base oracle. Attacher une table Oracle ds une base Access par code:VB6 [ par ernestal ] Bonjour ,Voilà:j'ai une application développée sous VB6 dans laquelle j'ai une base access contenant aussi des tables attachées d'une base oracle.Cett VB6: Comment attacher une table Oracle ds une base Access par code? [ par ernestal ] Bonjour ,Voilà:j'ai une application développée sous VB6 dans laquelle j'ai une base access contenant aussi des tables attachées d'une base oracle.Cett HELP - VBA Access [ par rictus31 ] Bonjour Ayant des notions VBA sur XL mais pas sur Access, je n'arrive pas à effectuer une macro toute simple pour mettre à jour le format de plusieu


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 4,555 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales