1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140
| Function Delete_Table(NomTable As String) As Boolean
Dim db As DAO.Database
Dim tbl As DAO.TableDef
Dim conf
Delete_Table = False
Set db = CurrentDb
For Each tbl In db.TableDefs
If tbl.Name = NomTable Then
Delete_Table = True
Else
Delete_Table = False
End If
Next tbl
End Function
------------------------------------------------------------------
Private Sub FichierReservations_Click()
Dim oDb As DAO.Database
Dim oNouvelleTable As DAO.TableDef
Dim oChamp, oChamp2 As DAO.Field
Dim oIndex, oIndex2 As DAO.index
Dim tb As String
Dim con
tb = "Réservations"
'Instancie la base de données
Set oDb = CurrentDb
'Crée la nouvelle table
Set oNouvelleTable = oDb.CreateTableDef("Réservations")
'Crée le champ N_Cin
Set oChamp = oNouvelleTable.CreateField("N_Cin", dbText, 15)
Set oChamp2 = oNouvelleTable.CreateField("Numéro", dbInteger, 10)
'Définit le champ en numero_auto
' oChamp.Attributes = dbAutoIncrField
'Ajoute le champ à la table
oNouvelleTable.Fields.Append oChamp
oNouvelleTable.Fields.Append oChamp2
'Crée les champs nom , prenom , adresse , profession et telephone et les ajoute
oNouvelleTable.Fields.Append oNouvelleTable.CreateField("Date_Arrivee", dbDate)
oNouvelleTable.Fields.Append oNouvelleTable.CreateField("Date_Depart", dbDate)
oNouvelleTable.Fields.Append oNouvelleTable.CreateField("Date_Reservation", dbDate)
oNouvelleTable.Fields.Append oNouvelleTable.CreateField("Nb_pers", dbInteger, 15)
'définit les deux clés primaires sur N_Cin et numéro
Set oIndex = oNouvelleTable.CreateIndex("PK_N_Cin-Numéro")
With oIndex
.Primary = True
.Fields.Append .CreateField("N_Cin")
.Fields.Append .CreateField("Numéro")
End With
'Ajoute l'index à la table
oNouvelleTable.Indexes.Append oIndex
'supprimer la table si elle existe deja
If Delete_Table(tb) = True Then
con = MsgBox("la table " & tb & " existe deja , voulez vous supprimer cette table et creer une nouvelle?", vbYesNo + 256 + vbQuestion, "Confirmation")
If con = vbYes Then
oDb.TableDefs.Delete ("Réservations")
MsgBox "L'ancienne table " & tb & " a bien été éffacée."
oDb.TableDefs.Append oNouvelleTable
MsgBox "La Nouvelle Table Réservations a été créer.", vbInformation + vbOKOnly + vbDefaultButton1, "Confirmation "
Else: MsgBox "action annulé"
End If
Else
oDb.TableDefs.Append oNouvelleTable
MsgBox "La Table Réservations a été créer.", vbInformation + vbOKOnly, "Confirmation "
End If
'Libère les variables
oDb.Close
Set oIndex = Nothing
Set oChamp = Nothing
Set oNouvelleTable = Nothing
Set oDb = Nothing
End Sub
--------------------------------------------------------------------------------------------------------------
Private Sub FichierClients_Click()
Dim oDb As DAO.Database
Dim oNouvelleTable As DAO.TableDef
Dim oChamp, oChamp2 As DAO.Field
Dim oIndex, oIndex2 As DAO.index
Dim tb As String
Dim con
tb = "Clients"
'Instancie la base de données
Set oDb = CurrentDb
'Crée la nouvelle table
Set oNouvelleTable = oDb.CreateTableDef("Clients")
'Crée le champ N_Cin
Set oChamp = oNouvelleTable.CreateField("N_Cin", dbText, 15)
'Set oChamp2 = oNouvelleTable.CreateField("Numéro", dbInteger, 10)
'Définit le champ en numero_auto
' oChamp.Attributes = dbAutoIncrField
'Ajoute le champ à la table
oNouvelleTable.Fields.Append oChamp
'oNouvelleTable.Fields.Append oChamp2
'Crée les champs nom , prenom , adresse , profession et telephone et les ajoute
oNouvelleTable.Fields.Append oNouvelleTable.CreateField("Nom", dbText, 15)
oNouvelleTable.Fields.Append oNouvelleTable.CreateField("Prenom", dbText, 15)
oNouvelleTable.Fields.Append oNouvelleTable.CreateField("Profession", dbText, 15)
oNouvelleTable.Fields.Append oNouvelleTable.CreateField("Adresse", dbText, 25)
oNouvelleTable.Fields.Append oNouvelleTable.CreateField("Telephone", dbText, 15)
Set oIndex = oNouvelleTable.CreateIndex("PK_N_Cin")
oIndex.Primary = True
oIndex.Fields.Append oIndex.CreateField("N_Cin")
'Ajoute l'index à la table
oNouvelleTable.Indexes.Append oIndex
'supprimer la table si elle existe deja
If Delete_Table(tb) = True Then
con = MsgBox("la table " & tb & " existe deja , voulez vous supprimer cette table et creer une nouvelle?", vbYesNo + 256 + vbQuestion, "Confirmation")
If con = vbYes Then
oDb.TableDefs.Delete ("Clients")
MsgBox "L'ancienne table " & tb & " a bien été éffacée."
oDb.TableDefs.Append oNouvelleTable
MsgBox "La Nouvelle Table Clients a été créer.", vbInformation + vbOKOnly + vbDefaultButton1, "Confirmation "
Else: MsgBox "action annulé"
End If
Else
oDb.TableDefs.Append oNouvelleTable
MsgBox "La Table Clients a été créer.", vbInformation + vbOKOnly, "Confirmation "
End If
'Libère les variables
oDb.Close
Set oIndex = Nothing
Set oChamp = Nothing
Set oNouvelleTable = Nothing
Set oDb = Nothing
End Sub |
Partager