Travailler sous VB avec un fichier .DBF

Travailler sous VB avec un fichier .DBF - VB/VBA/VBS - Programmation

Marsh Posté le 09-12-2002 à 16:27:01    

Salut à tous,  
 
Je cherche un moyen pour ouvrir et travailler avec un fichier DBase.
 
Voici mon code:
 
CT2.ConnectionString = "Provider=????;Data Source=c:\Transfert\xtiers.dbf"
CT2.Open
 
QQn peut me dire quel provider utiliser (ça marche pas avec Microsoft.Jet.OLEDB.4.0 )
 
Merci d'avance!


---------------
C17
Reply

Marsh Posté le 09-12-2002 à 16:27:01   

Reply

Marsh Posté le 09-12-2002 à 16:31:50    

Essaie ça :
 

Code :
  1. Sub ADOOpenISAMDatabase()
  2.     Dim cnn As New ADODB.Connection
  3.     Dim rst As New ADODB.Recordset
  4.     cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:\Program
  5. Files\Microsoft Office\Office;Extended Properties=dBase III;"
  6.     rst.Open "Select * from Customer", cnn, adOpenForwardOnly, adLockReadOnly
  7.    
  8. '...
  9.  
  10.     rst.Close
  11.    
  12.     cnn.Close
  13. End Sub


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 09-12-2002 à 20:01:31    

C17 a écrit :

Salut à tous,  
 
(ça marche pas avec Microsoft.Jet.OLEDB.4.0 )


ben ouais ça marche d'office pas parce que tu tentes d'employer le moteur Jet d'Access (qui nativement, n'est pas compatible dBase) ;)
 
ça tombe bien j'avais bien envie de retomber un peu dans dBase pour un truc que je tente de mettre au point...
 
Mais j'ai une question aussi tout d'un coup... on peut pas ouvrir plusieurs tables dBase sur la même connexion?  Il m'avait semblé qu'on ouvrait le répertoire contenant les DBF et qu'on ouvrait chaque table dans un recordset en spécifiant le nom du fichier (ou quelque chose d'avoisinant) ?


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
Reply

Marsh Posté le 10-12-2002 à 09:04:29    

Harkonnen a écrit :

Essaie ça :
 

Code :
  1. Sub ADOOpenISAMDatabase()
  2.     Dim cnn As New ADODB.Connection
  3.     Dim rst As New ADODB.Recordset
  4.     cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:\Program
  5. Files\Microsoft Office\Office;Extended Properties=dBase III;"
  6.     rst.Open "Select * from Customer", cnn, adOpenForwardOnly, adLockReadOnly
  7.    
  8. '...
  9.  
  10.     rst.Close
  11.    
  12.     cnn.Close
  13. End Sub




 
 
Super! ça marche!  Merci beaucoup
 
Autre petite question.. Comment insérer des enregistrements dans la table?
 
La méthode '.AddNew' ne fonctionne pas... On est obligé de passer par '.Execute ("Insert...' ou y'a une autre méthode?
 
 
Note pour Drashe:  A mon avis tous les fichiers .DBF se trouvant dans le répertoire peuvent être ouvert comme des tables différentes


Message édité par C17 le 10-12-2002 à 09:05:48

---------------
C17
Reply

Marsh Posté le 10-12-2002 à 09:39:26    

désolé j'avais la tête ailleurs (DMC on va dire :o) donc effectivement, l'info était sous mes yeux et je l'ai pas vue ;)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed