Creer une base de donnée ACCESS vba

Creer une base de donnée ACCESS vba - VB/VBA/VBS - Programmation

Marsh Posté le 20-07-2009 à 12:09:36    

Bonjour à tous!
 
depuis 2h je tente tant bien que mal de creer une base de données access en VBA, sans succès!
 
je m'explique, j'ai une base de données ouverte, et j'aimerai sauvegarder cetaine table dans une autre base de données que je crée!
 
impossible de creer cette fichue base de données!!! :pfff:  
voici le code:
 

Code :
  1. Public Function CreerTable()
  2. Dim nameTable As String
  3. Dim i As Integer
  4. nameTable = "C:\Documents and Settings\gf3323\Bureau\BaseDonnees\Tables-" & Replace(DateValue(Now()), "/", "" )
  5. 'je supprilme les "/" de la dates pour éviter les erreurs
  6. Set TableAccess = DBEngine.CreateDatabase(nameTable, ";pwd='NewPassword'" )
  7.     TableAccess.Open
  8.    
  9.     For i = 0 To UBound(Table)
  10.         DoCmd.CopyObject nameTable, , acTable, Table(i)
  11.     Next i
  12.     TableAccess.Close
  13. End Function


 
A la ligne rouge, access me donne cette erreur :
Erreur 3424:
"Impossible de créer la base de données car le paramètre locale est incorrect"

 
Je ne voit pas le problème, j'ai cherché sur internet tout le monde à l'air de faire comme ça!!
help help!
 
merci beaucoup d'avance! :)


Message édité par mmmxtina le 20-07-2009 à 12:11:16
Reply

Marsh Posté le 20-07-2009 à 12:09:36   

Reply

Marsh Posté le 20-07-2009 à 17:21:32    

Bonjour
 
Perso je fais ca plus 'betement' :

Code :
  1. DBEngine.CreateDatabase nameTable, dbLangGeneral


 
Ensuite :

  • tu veux definir TableAccess ou nameTable comme instance d'une base access...  :heink: Pas tres logique tes noms de variable (Perso j'aurais mis nameBase et BaseAccess, plus facile pour relire par la suite...)
  • TableAccess.Open <(--- Inutile, pour exporter une table pas besoin que l'autre soit ouverte.

Pour y faire reference et par exemple la fermer a la fin :

Code :
  1. Set accessApp = GetObject(nameTable)
  2.       accessApp.Application.quit


Mais si tu ne l'ouvres pas, pas besoin de la fermer... cqfd  :whistle:  
 

  • Après je regarde ta variable nameTable, elle n'a pas d'extension pour le fichier, rajoute peut etre a la fin :

    Code :
    1. nameTable = "C:\Documents and Settings\gf3323\Bureau\BaseDonnees\Tables-" & Replace(DateValue(Now()), "/", "" ) & ".mdb"


 
Pour finir, loin de moi l'idée de t'insulter/frustrer/rabaisser, mais on apprend pas a coder en regardant ce que font les autres sur internet...
On achete un bouquin et on potasse. Sur le net il y a autant de tout que de rien...
 
J'ajouterai aussi, qu'en fonction des version d'Access le code peut changer, or tu ne donnes pas la version sur laquelle tu travailles.
 
Cordialement


Message édité par SuppotDeSaTante le 20-07-2009 à 17:39:09

---------------
Soyez malin, louez entre voisins !
Reply

Sujets relatifs:

Leave a Replay

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