damdam1
Messages postés33Date d'inscriptionvendredi 31 octobre 2003StatutMembreDernière intervention 2 février 2004
-
3 nov. 2003 à 11:36
rabeb83
Messages postés2Date d'inscriptionjeudi 23 novembre 2000StatutMembreDernière intervention 8 août 2005
-
8 août 2005 à 09:28
;) actuellement en stage je doit, pour des raisons pratique lire un fichiers .dat pour le recopier au fur et a mesure de son incrémentation par l'automate dans une ou plusieurs table d'une base de données access comment faire ??
la lecture dans excel en utilisant la vigule comme séparateur me donne un tableau correct les enregistrements dans le fichiers sont sous cette forme :
18802,76.000000,76.000000,1023.775085,890.522461,160.387726,170.145584,165.668015,165.400452,0.000000,0.000000,0.000000,0.000000,15.752380,15.531122,17.189699,48.473202,13.515612,15.635038,13.032000,42.182648,20.755943,22.037926,21.571247,64.257507,0.758930,0.704742,0.796876,0.754357,45.994678,48.795116,47.508289,47.432693,428.595276,428.543793,429.641876,428.926971,15.535685,15.287236,16.958506,47.781425,12.134617,14.267576,11.359599,37.761791,19.713102,20.910843,20.411551,60.901703,0.788085,0.731064,0.830825,0.784565,1.737940,1.997172,1.524937,1.753350,23.655716,25.997746,25.248322,24.967260,14.477929,14.096754,15.829987,44.404671,314.767151,288.890900,333.197723,312.285278,6.843556,5.920488,7.013465,6.583756,121.082344,108.202675,140.141769,123.142601,98.326935,87.867783,113.804459,1,0,0,0.000000,76.000000,76.000000,76.000000,0.000000,0.000000,0.000000,0.000000,3.000000,0.000000,100.000000,20.013157,5.000000,2.000000, xxx
je viens de créer les tables pour acceuillir les données mais je ne sais pas comment les remplir avec les enregistrement ( je voudrais incrémenter la table a chaque nouvel enregistrement dans le fichiers.dat
j'arrive a mettre en forme ce fichier sgrace a excel mais l'utitilisateur final désire effectuer plusieurs requete (bilan jour/mois/année/ par type ...) au secours !!! je n'ai qu'un mois
cs_ludo24
Messages postés37Date d'inscriptionlundi 20 octobre 2003StatutMembreDernière intervention12 juillet 2007 3 nov. 2003 à 12:24
J'vois pas trop ou est le probleme. A moins que tu ne saches pas du tout attaquer des bases via VB. Au fait c bien VB que tu utilises? et non VBA excel??
Perso, j'irais directement lire dans le fichier .dat avec VB sans passer par un fichier Excel. Est-ce vraiment impossible??
Si ce que tu veux c'est spontanément updater la base à chaque fois que le fichier est modifié, ça me parait dur.
Les requetes dont tu parles seront consultées dans ton outil ou dans access directement??
Si c'est dans ton outil, ça te permettrait d'updater la base uniquement lorsque quelqu'un se sert de ton outil, avant chaque affichage de requete par ton outil.
cs_ludo24
Messages postés37Date d'inscriptionlundi 20 octobre 2003StatutMembreDernière intervention12 juillet 2007 3 nov. 2003 à 14:19
C un peu long à expliquer mais tu peux trouver plein d'exemples de codes à ce sujet.
Pour lire un fichier texte/dat, je me souviens que tu utilises la fonction "open" ... "as input"
et ensuite tu lis le fichier ligne par ligne grace à la fonction
"line input".
Je ne l'ai jamais utilisé mais je sais qu'il y une autre fonction "input #" (si mes souvenirs st bons) qui te permet d'affecter des variables en fonction de ce qui figure sur une ligne de ton fichier texte et séparé par une virgule. Ca pourrait t'intéresser.
Tu trouveras largement ces infos dans l'aide de VB. Fais une recherche sur "Line input".
Ensuite il te faudra attaquer les bases de données. En ADO ou DAO. ADO est mieux parce que plus récent et c'est pas bcp plus compliqué que le DAO.
En fait, tu devras (en ADO):
1) déclarer une base
2) déclarer un recordset (ie: table/requete)
3) ouvrir une connection à la base
4) ouvrir ton recordset
5) faire tes opération (lecture de data/écriture de data/ajout de data/...)
Une fois que t'as compris comment faire, c'est simple.
xavallais
Messages postés15Date d'inscriptionlundi 4 août 2003StatutMembreDernière intervention26 janvier 2010 3 nov. 2003 à 16:54
Je ne comprends pas vraiment comment doit fonctionner ton appli. mais je pense pouvoir te donner les bases pour les accès Access et les lectures de fichiers textes ...
####################
A] Pour ce qui est d'Access
####################
Dans ces exemples ta base de donnée access s'appelle "DBAccess.mdb"
Elle a une table qui s'appelle "T_Recup"
Cette table a les propriétée suivante :
-NumRecup en NumAuto (l'identifiant)
-Libellé en texte
-Valeur en numérique
1-Déclarations
===========
' Connexion
Global Cnx As ADODB.Connection
' Tables
Global rsTable1 As ADODB.Recordset
Global rsTable2 As ADODB.Recordset
...
'Variables globales
Global DataBaseName as String
2 - Connexion à Access
================
21.Etablir la connexion
--------------------------
Public Sub ConnexionDB()
DataBaseName = "C:\MonProjet\DBAccess.mdb"
Set Cnx = New Connection
Cnx.Provider = "Microsoft.jet.OLEDB.4.0"
Cnx.ConnectionString = "Data source=" & DataBaseName
Cnx.Open
End Sub
22.Fermer une connexion
-----------------------------
Sub Fin_ConnexionDB()
Cnx.Close
Set Cnx = Nothing
End Sub
3-Créer un enregistrement dans Access
================================
'Appel du module de connexion si ce n'est pas déjà fait ailleurs dans ton prog
ConnexionDB()
' préparation à l'ajout d'enregistrement
Set rsTable1 = New Recordset
rsTable1.CursorType = adOpenKeyset
rsTable1.LockType = adLockOptimistic
rsTable1.Open "T_Recup", Cnx, , , adCmdTable
rsTable1.AddNew
NumLibre = FreeFile
Open strFichierTxt For Input As #NumLibre
If Not EOF(NumLibre) Then
'
Do While Not EOF(NumLibre)
' lire la ligne du fichier texte
Line Input #NumLibre, strLigne
'
....
'
Loop
Else
'...
End If
'
Close #NumLibre 'fermer le fichier en input
2-Ecriture d'un fichier texte
-------------------------------
Dim strNewFile as String
Dim strNewLine as String
strNewFile = App.Path + "\NouveauFichierTexte.txt"
NumLibre2 = FreeFile
Open strNewFile For Output As #NumLibre2
strNewLine = "Ton baratin ..."
'Ecrire une ligne
Print #NumLibre2, strNewLine
Close #NumLibre2 'fermer le fichier en outputstrNewLine
En espérant que ça te permette de bien avancer dans ton projet.
Vous n’avez pas trouvé la réponse que vous recherchez ?
xavallais
Messages postés15Date d'inscriptionlundi 4 août 2003StatutMembreDernière intervention26 janvier 2010 22 avril 2004 à 14:34
J'ai oublié de préciser une chose dans mon message du 03/11/03, on doit avoir les références suivantes dans VB (Menu Projet/References):
_ Visual Basic for application
_ Visual Basic runtime object and procedure
_ Visual Basic object and procedure
_ OLE automation
_ Microsoft Active X Data object 2.0 library
_ Microsoft DAO 3.51 object library
En espérant que ça aidera ceux qui bloquent dessus...
rabeb83
Messages postés2Date d'inscriptionjeudi 23 novembre 2000StatutMembreDernière intervention 8 août 2005 8 août 2005 à 09:28
salut j'ai besoin d'aide concernant la suppression des enregistrements à partir d'une base de format access,je veux supprimer un enregistrement que je selectionne à partir de l'interface que j'ai construit en vb,j'ai réussit de faire une suppression grace à la méthode "Delete" mais elle supprime l'enregistrement actuel qu'elle trouve dans la base et nonb pas celui que je veux,svp aidez moi avec un code et merci