Impossible de créer mes tables (VB + Access)

opus32 Messages postés 4 Date d'inscription samedi 31 mai 2003 Statut Membre Dernière intervention 16 septembre 2004 - 16 sept. 2004 à 15:22
opus32 Messages postés 4 Date d'inscription samedi 31 mai 2003 Statut Membre Dernière intervention 16 septembre 2004 - 16 sept. 2004 à 17:50
Bonjour,
je crée une base de données access en vb, la base est bien créée mais elle est vide, mes tables ne se créent pas.
Voici mon code :

Option Explicit

Private Sub Form_Load()
On Error Resume Next
If Fichier_Existe(App.Path & "/donnees.mdb") Then
MsgBox ("La base existe.")
'OuvertureDB
Else
'MsgBox ("Pas OK")
Call CreationDB("donnees")
'OuvertureDB
End If
'LSelection.FontName = "Courier New"
End Sub

Public Function Fichier_Existe(Path As String) As Boolean
If Dir(Path) = "" Then
Fichier_Existe = False
Else
Fichier_Existe = True
End If
End Function

Public Sub CreationDB(BD_Nom As String)
Dim DB As Database
Set DB = DBEngine.Workspaces(0).CreateDatabase(App.Path & "/" & BD_Nom, dbLangGeneral)
DB.Execute "CREATE TABLE T_Client( " & _
"[CliId] Long, [CliTitre] Text(15), " & _
"[CliNomSoc] Text(50), [CliNom] Text(30)," & _
"[CliNomResp] Text(30), [CliTelResp] Text(15)," & _
"[CliTelRespExt] Text(5), [CliGsm] Text(15)," & _
"[CliEmail] Text(50), [CliCodeAcces] Text(20)," & _
"[CliAssujeti] Boolean, [CliNumTva] Text(30)," & _
"[CliRef] Text(30), [CliFact] Boolean," & _
"[CliFactTitre] Text(30), [CliFactNom] Text(30)," & _
"[CliFactRue] Text(50), [CliFactNum] Text(5)," & _
"[CliFactBte] Text(5), [CliFact_X_LocId] Long," & _
"[CliPrestType] Text(30), [CliPrestNom] Text(30)," & _
"[CliPrestTel] Text(15), [CliPrestGsm] Text(15)," & _
"[CliPrestRue] Text(30), [CliPrestNum] Text(30)," & _
"[CliPrest_X_LocId] Long, [CliPrestRem] Text(30))"
DB.Execute "CREATE TABLE T_Facture( " & _
"[FactNo] Long, [Fact_X_CliId] Long, " & _
"[FactDatDevis] Text(30), [FactDatPremNet] Text(30)," & _
"[FactDureePremNet] Text(30), [FactMontanPremNet] Text(30)," & _
"[FactTvaPremNet] Text(30), [FactTotalPremNet] Text(30)," & _
"[FactDatContra] Text(30), [FactDureeContra] Text(30)," & _
"[FactMontanContra] Text(30), [FactTvaContra] Text(30)," & _
"[FactTotalContra] Text(30), [FactDatContraSuiv] Text(30)," & _
"[FactDat] Text(30), [FactDelai] Text(30))"
DB.Execute "CREATE TABLE T_Localite( " & _
"[LocId] Long, [LocCp] Text(5), " & _
"[LocNom] Text(30))"
DB.Execute "ALTER TABLE T_Client ADD CONSTRAINT CliIdIDX UNIQUE ([CliId]) "
DB.Execute "ALTER TABLE T_Facture ADD CONSTRAINT FactNoIDX UNIQUE ([FactNo]) "
DB.Execute "ALTER TABLE T_Localite ADD CONSTRAINT LocIdIDX UNIQUE ([LocId]) "
DB.Execute "ALTER TABLE T_Client ADD CONSTRAINT CliFact_X_LocIdIDX " & "FOREIGN KEY ([CliFact_X_LocId]) REFERENCES T_Localite([LocId]) "
DB.Execute "ALTER TABLE T_Client ADD CONSTRAINT CliPrest_X_LocIdIDX " & "FOREIGN KEY ([CliPrest_X_LocId]) REFERENCES T_Localite([LocId]) "
DB.Execute "ALTER TABLE T_Facture ADD CONSTRAINT Fact_X_CliIdIDX " & "FOREIGN KEY ([Fact_X_CliId]) REFERENCES T_Client([CliId]) "
DB.Close
Set DB = Nothing
End Sub

Est-ce que quelqu'un pourrait m'aider à trouver mes erreurs ?
Merci d'avance.

2 réponses

cs_frop01 Messages postés 1352 Date d'inscription lundi 27 octobre 2003 Statut Membre Dernière intervention 19 novembre 2008 2
16 sept. 2004 à 16:17
Salut,
Le moteur MS Jet ne possède pas de type de données BOOLEAN mais plutot BIT

Public Sub CreationDB(BD_Nom As String)
Dim DB As Database
Set DB = DBEngine.Workspaces(0).CreateDatabase(App.Path & "/" & BD_Nom, dbLangGeneral)
DB.Execute "CREATE TABLE T_Client( " & _
"[CliId] Long, [CliTitre] Text(15), " & _
"[CliNomSoc] Text(50), [CliNom] Text(30)," & _
"[CliNomResp] Text(30), [CliTelResp] Text(15)," & _
"[CliTelRespExt] Text(5), [CliGsm] Text(15)," & _
"[CliEmail] Text(50), [CliCodeAcces] Text(20)," & _
"[CliAssujeti] BIT, [CliNumTva] Text(30)," & _
"[CliRef] Text(30), [CliFact] BIT," & _
"[CliFactTitre] Text(30), [CliFactNom] Text(30)," & _
"[CliFactRue] Text(50), [CliFactNum] Text(5)," & _
"[CliFactBte] Text(5), [CliFact_X_LocId] Long," & _
"[CliPrestType] Text(30), [CliPrestNom] Text(30)," & _
"[CliPrestTel] Text(15), [CliPrestGsm] Text(15)," & _
"[CliPrestRue] Text(30), [CliPrestNum] Text(30)," & _
"[CliPrest_X_LocId] Long, [CliPrestRem] Text(30))"
DB.Execute "CREATE TABLE T_Facture( " & _
"[FactNo] Long, [Fact_X_CliId] Long, " & _
"[FactDatDevis] Text(30), [FactDatPremNet] Text(30)," & _
"[FactDureePremNet] Text(30), [FactMontanPremNet] Text(30)," & _
"[FactTvaPremNet] Text(30), [FactTotalPremNet] Text(30)," & _
"[FactDatContra] Text(30), [FactDureeContra] Text(30)," & _
"[FactMontanContra] Text(30), [FactTvaContra] Text(30)," & _
"[FactTotalContra] Text(30), [FactDatContraSuiv] Text(30)," & _
"[FactDat] Text(30), [FactDelai] Text(30))"
DB.Execute "CREATE TABLE T_Localite( " & _
"[LocId] Long, [LocCp] Text(5), " & _
"[LocNom] Text(30))"
DB.Execute "ALTER TABLE T_Client ADD CONSTRAINT CliIdIDX UNIQUE ([CliId]) "
DB.Execute "ALTER TABLE T_Facture ADD CONSTRAINT FactNoIDX UNIQUE ([FactNo]) "
DB.Execute "ALTER TABLE T_Localite ADD CONSTRAINT LocIdIDX UNIQUE ([LocId]) "
DB.Execute "ALTER TABLE T_Client ADD CONSTRAINT CliFact_X_LocIdIDX " & "FOREIGN KEY ([CliFact_X_LocId]) REFERENCES T_Localite([LocId]) "
DB.Execute "ALTER TABLE T_Client ADD CONSTRAINT CliPrest_X_LocIdIDX " & "FOREIGN KEY ([CliPrest_X_LocId]) REFERENCES T_Localite([LocId]) "
DB.Execute "ALTER TABLE T_Facture ADD CONSTRAINT Fact_X_CliIdIDX " & "FOREIGN KEY ([Fact_X_CliId]) REFERENCES T_Client([CliId]) "
DB.Close
Set DB = Nothing
End Sub



:-p [mailto:cyberscorp2004@msn.com MSN] :big) [mailto:frop01@yahoo.fr YAHOO] >:)

Membre du club CodeS-SourceS
0
opus32 Messages postés 4 Date d'inscription samedi 31 mai 2003 Statut Membre Dernière intervention 16 septembre 2004
16 sept. 2004 à 17:50
exact, merci beaucoup :)
0
Rejoignez-nous