Bonjours,
Dans une listbox, je voudrais afficher toutes les tables de données de ma
BDD Access : comment faire ?
Dans une autre listbox, j'ai deux collonnes : "Element" et "Type". Je
voudrais pour une table donnée, que ça me liste toutes les colonnes ainsi
que leur type : comment faire ?
Bonjours,
Dans une listbox, je voudrais afficher toutes les tables de données de ma
BDD Access : comment faire ?
Dans une autre listbox, j'ai deux collonnes : "Element" et "Type". Je
voudrais pour une table donnée, que ça me liste toutes les colonnes ainsi
que leur type : comment faire ?
Bonjours,
Dans une listbox, je voudrais afficher toutes les tables de données de ma
BDD Access : comment faire ?
Dans une autre listbox, j'ai deux collonnes : "Element" et "Type". Je
voudrais pour une table donnée, que ça me liste toutes les colonnes ainsi
que leur type : comment faire ?
Bonjour Emcy;
Comme ceci (sans oublier la référence à DAO):
Private Sub CommandButton1_Click()
Dim Session As Workspace, db As Database
Dim tb As TableDef, Chemin As String
Chemin = "Ici chemin complet de la base .mdb"
Set Session = DBEngine.Workspaces(0)
Set db = Session.OpenDatabase(Chemin)
For Each tb In db.TableDefs
If Not Left(tb.Name, 4) = "MSys" Then Me.ListBox1.AddItem tb.Name
Next tb
db.Close
Set db = Nothing: Set Session = Nothing
End Sub
Private Sub ListBox1_Click()
Me.ListBox2.Clear
Dim Session As Workspace, db As Database
Dim tdf As TableDef, Chemin As String, fld As Field
Chemin = "D:EuropTestProductionsGpaoEuropTest.mdb"
Set Session = DBEngine.Workspaces(0)
Set db = Session.OpenDatabase(Chemin)
Set tdf = db.TableDefs(Me.ListBox1.Value)
Dim i&
Me.ListBox2.AddItem "Field Name"
Me.ListBox2.List(i, 1) = "Type"
For Each fld In tdf.Fields
i = i + 1
Me.ListBox2.AddItem fld.Name
Me.ListBox2.List(i, 1) = TypeName(fld.Type)
Next fld
db.Close
Set tdf = Nothing: Set db = Nothing: Set Session = Nothing
End Sub
Private Function TypeName(iType As Integer) As String
Select Case iType
Case dbBigInt: TypeName = "Big Integer"
Case dbBinary: TypeName = "Binary"
Case dbBoolean: TypeName = "Boolean"
Case dbByte: TypeName = "Byte"
Case dbChar: TypeName = "Char"
Case dbCurrency: TypeName = "Currency"
Case dbDate: TypeName = "Date"
Case dbDecimal: TypeName = "Decimal"
Case dbDouble: TypeName = "Double"
Case dbFloat: TypeName = "Float"
Case dbGUID: TypeName = "GUID"
Case dbInteger: TypeName = "Integer"
Case dbLong: TypeName = "Long"
Case dbLongBinary: TypeName = "Long Binary"
Case dbMemo: TypeName = "Memo"
Case dbNumeric: TypeName = "Numeric"
Case dbSingle: TypeName = "Single"
Case dbText: TypeName = "Text"
Case dbTime: TypeName = "Time"
Case dbTimeStamp: TypeName = "Time Stamp"
Case dbVarBinary: TypeName = "VarBinary"
Case Else: TypeName = ""
End Select
End Function
MP
"Emcy" a écrit dans le message de news:
#Bonjours,
Dans une listbox, je voudrais afficher toutes les tables de données de ma
BDD Access : comment faire ?
Dans une autre listbox, j'ai deux collonnes : "Element" et "Type". Je
voudrais pour une table donnée, que ça me liste toutes les colonnes ainsi
que leur type : comment faire ?
Bonjour Emcy;
Comme ceci (sans oublier la référence à DAO):
Private Sub CommandButton1_Click()
Dim Session As Workspace, db As Database
Dim tb As TableDef, Chemin As String
Chemin = "Ici chemin complet de la base .mdb"
Set Session = DBEngine.Workspaces(0)
Set db = Session.OpenDatabase(Chemin)
For Each tb In db.TableDefs
If Not Left(tb.Name, 4) = "MSys" Then Me.ListBox1.AddItem tb.Name
Next tb
db.Close
Set db = Nothing: Set Session = Nothing
End Sub
Private Sub ListBox1_Click()
Me.ListBox2.Clear
Dim Session As Workspace, db As Database
Dim tdf As TableDef, Chemin As String, fld As Field
Chemin = "D:EuropTestProductionsGpaoEuropTest.mdb"
Set Session = DBEngine.Workspaces(0)
Set db = Session.OpenDatabase(Chemin)
Set tdf = db.TableDefs(Me.ListBox1.Value)
Dim i&
Me.ListBox2.AddItem "Field Name"
Me.ListBox2.List(i, 1) = "Type"
For Each fld In tdf.Fields
i = i + 1
Me.ListBox2.AddItem fld.Name
Me.ListBox2.List(i, 1) = TypeName(fld.Type)
Next fld
db.Close
Set tdf = Nothing: Set db = Nothing: Set Session = Nothing
End Sub
Private Function TypeName(iType As Integer) As String
Select Case iType
Case dbBigInt: TypeName = "Big Integer"
Case dbBinary: TypeName = "Binary"
Case dbBoolean: TypeName = "Boolean"
Case dbByte: TypeName = "Byte"
Case dbChar: TypeName = "Char"
Case dbCurrency: TypeName = "Currency"
Case dbDate: TypeName = "Date"
Case dbDecimal: TypeName = "Decimal"
Case dbDouble: TypeName = "Double"
Case dbFloat: TypeName = "Float"
Case dbGUID: TypeName = "GUID"
Case dbInteger: TypeName = "Integer"
Case dbLong: TypeName = "Long"
Case dbLongBinary: TypeName = "Long Binary"
Case dbMemo: TypeName = "Memo"
Case dbNumeric: TypeName = "Numeric"
Case dbSingle: TypeName = "Single"
Case dbText: TypeName = "Text"
Case dbTime: TypeName = "Time"
Case dbTimeStamp: TypeName = "Time Stamp"
Case dbVarBinary: TypeName = "VarBinary"
Case Else: TypeName = ""
End Select
End Function
MP
"Emcy" <toto@bla.com> a écrit dans le message de news:
#GczN3L9FHA.3208@TK2MSFTNGP11.phx.gbl...
Bonjours,
Dans une listbox, je voudrais afficher toutes les tables de données de ma
BDD Access : comment faire ?
Dans une autre listbox, j'ai deux collonnes : "Element" et "Type". Je
voudrais pour une table donnée, que ça me liste toutes les colonnes ainsi
que leur type : comment faire ?
Bonjour Emcy;
Comme ceci (sans oublier la référence à DAO):
Private Sub CommandButton1_Click()
Dim Session As Workspace, db As Database
Dim tb As TableDef, Chemin As String
Chemin = "Ici chemin complet de la base .mdb"
Set Session = DBEngine.Workspaces(0)
Set db = Session.OpenDatabase(Chemin)
For Each tb In db.TableDefs
If Not Left(tb.Name, 4) = "MSys" Then Me.ListBox1.AddItem tb.Name
Next tb
db.Close
Set db = Nothing: Set Session = Nothing
End Sub
Private Sub ListBox1_Click()
Me.ListBox2.Clear
Dim Session As Workspace, db As Database
Dim tdf As TableDef, Chemin As String, fld As Field
Chemin = "D:EuropTestProductionsGpaoEuropTest.mdb"
Set Session = DBEngine.Workspaces(0)
Set db = Session.OpenDatabase(Chemin)
Set tdf = db.TableDefs(Me.ListBox1.Value)
Dim i&
Me.ListBox2.AddItem "Field Name"
Me.ListBox2.List(i, 1) = "Type"
For Each fld In tdf.Fields
i = i + 1
Me.ListBox2.AddItem fld.Name
Me.ListBox2.List(i, 1) = TypeName(fld.Type)
Next fld
db.Close
Set tdf = Nothing: Set db = Nothing: Set Session = Nothing
End Sub
Private Function TypeName(iType As Integer) As String
Select Case iType
Case dbBigInt: TypeName = "Big Integer"
Case dbBinary: TypeName = "Binary"
Case dbBoolean: TypeName = "Boolean"
Case dbByte: TypeName = "Byte"
Case dbChar: TypeName = "Char"
Case dbCurrency: TypeName = "Currency"
Case dbDate: TypeName = "Date"
Case dbDecimal: TypeName = "Decimal"
Case dbDouble: TypeName = "Double"
Case dbFloat: TypeName = "Float"
Case dbGUID: TypeName = "GUID"
Case dbInteger: TypeName = "Integer"
Case dbLong: TypeName = "Long"
Case dbLongBinary: TypeName = "Long Binary"
Case dbMemo: TypeName = "Memo"
Case dbNumeric: TypeName = "Numeric"
Case dbSingle: TypeName = "Single"
Case dbText: TypeName = "Text"
Case dbTime: TypeName = "Time"
Case dbTimeStamp: TypeName = "Time Stamp"
Case dbVarBinary: TypeName = "VarBinary"
Case Else: TypeName = ""
End Select
End Function
MP
"Emcy" a écrit dans le message de news:
#Bonjours,
Dans une listbox, je voudrais afficher toutes les tables de données de ma
BDD Access : comment faire ?
Dans une autre listbox, j'ai deux collonnes : "Element" et "Type". Je
voudrais pour une table donnée, que ça me liste toutes les colonnes ainsi
que leur type : comment faire ?
excuse-moi, j'ai oublié de preciser que je le voulais en ADO(X) ...
"Michel Pierron" a écrit dans le message de news:
OT$Bonjour Emcy;
Comme ceci (sans oublier la référence à DAO):
Private Sub CommandButton1_Click()
Dim Session As Workspace, db As Database
Dim tb As TableDef, Chemin As String
Chemin = "Ici chemin complet de la base .mdb"
Set Session = DBEngine.Workspaces(0)
Set db = Session.OpenDatabase(Chemin)
For Each tb In db.TableDefs
If Not Left(tb.Name, 4) = "MSys" Then Me.ListBox1.AddItem tb.Name
Next tb
db.Close
Set db = Nothing: Set Session = Nothing
End Sub
Private Sub ListBox1_Click()
Me.ListBox2.Clear
Dim Session As Workspace, db As Database
Dim tdf As TableDef, Chemin As String, fld As Field
Chemin = "D:EuropTestProductionsGpaoEuropTest.mdb"
Set Session = DBEngine.Workspaces(0)
Set db = Session.OpenDatabase(Chemin)
Set tdf = db.TableDefs(Me.ListBox1.Value)
Dim i&
Me.ListBox2.AddItem "Field Name"
Me.ListBox2.List(i, 1) = "Type"
For Each fld In tdf.Fields
i = i + 1
Me.ListBox2.AddItem fld.Name
Me.ListBox2.List(i, 1) = TypeName(fld.Type)
Next fld
db.Close
Set tdf = Nothing: Set db = Nothing: Set Session = Nothing
End Sub
Private Function TypeName(iType As Integer) As String
Select Case iType
Case dbBigInt: TypeName = "Big Integer"
Case dbBinary: TypeName = "Binary"
Case dbBoolean: TypeName = "Boolean"
Case dbByte: TypeName = "Byte"
Case dbChar: TypeName = "Char"
Case dbCurrency: TypeName = "Currency"
Case dbDate: TypeName = "Date"
Case dbDecimal: TypeName = "Decimal"
Case dbDouble: TypeName = "Double"
Case dbFloat: TypeName = "Float"
Case dbGUID: TypeName = "GUID"
Case dbInteger: TypeName = "Integer"
Case dbLong: TypeName = "Long"
Case dbLongBinary: TypeName = "Long Binary"
Case dbMemo: TypeName = "Memo"
Case dbNumeric: TypeName = "Numeric"
Case dbSingle: TypeName = "Single"
Case dbText: TypeName = "Text"
Case dbTime: TypeName = "Time"
Case dbTimeStamp: TypeName = "Time Stamp"
Case dbVarBinary: TypeName = "VarBinary"
Case Else: TypeName = ""
End Select
End Function
MP
"Emcy" a écrit dans le message de news:
#Bonjours,
Dans une listbox, je voudrais afficher toutes les tables de données de
ma
BDD Access : comment faire ?
Dans une autre listbox, j'ai deux collonnes : "Element" et "Type". Je
voudrais pour une table donnée, que ça me liste toutes les colonnes
ainsi
que leur type : comment faire ?
excuse-moi, j'ai oublié de preciser que je le voulais en ADO(X) ...
"Michel Pierron" <michel.pierron@free.fr> a écrit dans le message de news:
OT$pCsM9FHA.912@TK2MSFTNGP10.phx.gbl...
Bonjour Emcy;
Comme ceci (sans oublier la référence à DAO):
Private Sub CommandButton1_Click()
Dim Session As Workspace, db As Database
Dim tb As TableDef, Chemin As String
Chemin = "Ici chemin complet de la base .mdb"
Set Session = DBEngine.Workspaces(0)
Set db = Session.OpenDatabase(Chemin)
For Each tb In db.TableDefs
If Not Left(tb.Name, 4) = "MSys" Then Me.ListBox1.AddItem tb.Name
Next tb
db.Close
Set db = Nothing: Set Session = Nothing
End Sub
Private Sub ListBox1_Click()
Me.ListBox2.Clear
Dim Session As Workspace, db As Database
Dim tdf As TableDef, Chemin As String, fld As Field
Chemin = "D:EuropTestProductionsGpaoEuropTest.mdb"
Set Session = DBEngine.Workspaces(0)
Set db = Session.OpenDatabase(Chemin)
Set tdf = db.TableDefs(Me.ListBox1.Value)
Dim i&
Me.ListBox2.AddItem "Field Name"
Me.ListBox2.List(i, 1) = "Type"
For Each fld In tdf.Fields
i = i + 1
Me.ListBox2.AddItem fld.Name
Me.ListBox2.List(i, 1) = TypeName(fld.Type)
Next fld
db.Close
Set tdf = Nothing: Set db = Nothing: Set Session = Nothing
End Sub
Private Function TypeName(iType As Integer) As String
Select Case iType
Case dbBigInt: TypeName = "Big Integer"
Case dbBinary: TypeName = "Binary"
Case dbBoolean: TypeName = "Boolean"
Case dbByte: TypeName = "Byte"
Case dbChar: TypeName = "Char"
Case dbCurrency: TypeName = "Currency"
Case dbDate: TypeName = "Date"
Case dbDecimal: TypeName = "Decimal"
Case dbDouble: TypeName = "Double"
Case dbFloat: TypeName = "Float"
Case dbGUID: TypeName = "GUID"
Case dbInteger: TypeName = "Integer"
Case dbLong: TypeName = "Long"
Case dbLongBinary: TypeName = "Long Binary"
Case dbMemo: TypeName = "Memo"
Case dbNumeric: TypeName = "Numeric"
Case dbSingle: TypeName = "Single"
Case dbText: TypeName = "Text"
Case dbTime: TypeName = "Time"
Case dbTimeStamp: TypeName = "Time Stamp"
Case dbVarBinary: TypeName = "VarBinary"
Case Else: TypeName = ""
End Select
End Function
MP
"Emcy" <toto@bla.com> a écrit dans le message de news:
#GczN3L9FHA.3208@TK2MSFTNGP11.phx.gbl...
Bonjours,
Dans une listbox, je voudrais afficher toutes les tables de données de
ma
BDD Access : comment faire ?
Dans une autre listbox, j'ai deux collonnes : "Element" et "Type". Je
voudrais pour une table donnée, que ça me liste toutes les colonnes
ainsi
que leur type : comment faire ?
excuse-moi, j'ai oublié de preciser que je le voulais en ADO(X) ...
"Michel Pierron" a écrit dans le message de news:
OT$Bonjour Emcy;
Comme ceci (sans oublier la référence à DAO):
Private Sub CommandButton1_Click()
Dim Session As Workspace, db As Database
Dim tb As TableDef, Chemin As String
Chemin = "Ici chemin complet de la base .mdb"
Set Session = DBEngine.Workspaces(0)
Set db = Session.OpenDatabase(Chemin)
For Each tb In db.TableDefs
If Not Left(tb.Name, 4) = "MSys" Then Me.ListBox1.AddItem tb.Name
Next tb
db.Close
Set db = Nothing: Set Session = Nothing
End Sub
Private Sub ListBox1_Click()
Me.ListBox2.Clear
Dim Session As Workspace, db As Database
Dim tdf As TableDef, Chemin As String, fld As Field
Chemin = "D:EuropTestProductionsGpaoEuropTest.mdb"
Set Session = DBEngine.Workspaces(0)
Set db = Session.OpenDatabase(Chemin)
Set tdf = db.TableDefs(Me.ListBox1.Value)
Dim i&
Me.ListBox2.AddItem "Field Name"
Me.ListBox2.List(i, 1) = "Type"
For Each fld In tdf.Fields
i = i + 1
Me.ListBox2.AddItem fld.Name
Me.ListBox2.List(i, 1) = TypeName(fld.Type)
Next fld
db.Close
Set tdf = Nothing: Set db = Nothing: Set Session = Nothing
End Sub
Private Function TypeName(iType As Integer) As String
Select Case iType
Case dbBigInt: TypeName = "Big Integer"
Case dbBinary: TypeName = "Binary"
Case dbBoolean: TypeName = "Boolean"
Case dbByte: TypeName = "Byte"
Case dbChar: TypeName = "Char"
Case dbCurrency: TypeName = "Currency"
Case dbDate: TypeName = "Date"
Case dbDecimal: TypeName = "Decimal"
Case dbDouble: TypeName = "Double"
Case dbFloat: TypeName = "Float"
Case dbGUID: TypeName = "GUID"
Case dbInteger: TypeName = "Integer"
Case dbLong: TypeName = "Long"
Case dbLongBinary: TypeName = "Long Binary"
Case dbMemo: TypeName = "Memo"
Case dbNumeric: TypeName = "Numeric"
Case dbSingle: TypeName = "Single"
Case dbText: TypeName = "Text"
Case dbTime: TypeName = "Time"
Case dbTimeStamp: TypeName = "Time Stamp"
Case dbVarBinary: TypeName = "VarBinary"
Case Else: TypeName = ""
End Select
End Function
MP
"Emcy" a écrit dans le message de news:
#Bonjours,
Dans une listbox, je voudrais afficher toutes les tables de données de
ma
BDD Access : comment faire ?
Dans une autre listbox, j'ai deux collonnes : "Element" et "Type". Je
voudrais pour une table donnée, que ça me liste toutes les colonnes
ainsi
que leur type : comment faire ?
Re Emcy;
Même punition, même principe (sans référence obligatoire puisque
CreateObject):
Private Sub CommandButton1_Click()
Me.Repaint
Dim Chemin As String
Chemin = "Ici chemin complet de la base .mdb"
Dim cat As Object, tb As Object
Set cat = CreateObject("ADOX.Catalog")
cat.ActiveConnection = "Provider=Microsoft.Jet.OLEDB.4.0;" _
& "Data Source=" & Chemin
For Each tb In cat.Tables
Me.ListBox1.AddItem tb.Name
Next tb
Set cat = Nothing
End Sub
Private Sub ListBox1_Click()
Me.ListBox2.Clear
Dim Chemin As String
Chemin = "Ici chemin complet de la base .mdb"
Dim cat As Object, tb As Object, fld As Object
Set cat = CreateObject("ADOX.Catalog")
cat.ActiveConnection = "Provider=Microsoft.Jet.OLEDB.4.0;" _
& "Data Source=" & Chemin
Set tb = cat.Tables(Me.ListBox1.Value)
With Me.ListBox2
.AddItem "Field Name"
.List(0, 1) = "Type"
For Each fld In tb.Columns
.AddItem fld.Name
.List(.ListCount - 1, 1) = TypeName(fld.Type)
Next
End With
Set tb = Nothing: Set cat = Nothing
End Sub
Private Function TypeName(iType%) As String
Select Case iType
Case 2: TypeName = "Integer"
Case 3: TypeName = "Long"
Case 4: TypeName = "Single"
Case 5: TypeName = "Double"
Case 6: TypeName = "Currency"
Case 7: TypeName = "Date"
Case 11: TypeName = "Boolean"
Case 17: TypeName = "Byte"
Case 72: TypeName = "GUID"
Case 130: TypeName = "Char"
Case 131: TypeName = "Decimal"
Case 202: TypeName = "Text"
Case 203: TypeName = "Memo"
Case 204: TypeName = "Binary"
Case 205: TypeName = "Long Binary"
Case Else: TypeName = CStr(iType)
End Select
End Function
MP
"Emcy" a écrit dans le message de news:excuse-moi, j'ai oublié de preciser que je le voulais en ADO(X) ...
"Michel Pierron" a écrit dans le message de
news:
OT$Bonjour Emcy;
Comme ceci (sans oublier la référence à DAO):
Private Sub CommandButton1_Click()
Dim Session As Workspace, db As Database
Dim tb As TableDef, Chemin As String
Chemin = "Ici chemin complet de la base .mdb"
Set Session = DBEngine.Workspaces(0)
Set db = Session.OpenDatabase(Chemin)
For Each tb In db.TableDefs
If Not Left(tb.Name, 4) = "MSys" Then Me.ListBox1.AddItem tb.Name
Next tb
db.Close
Set db = Nothing: Set Session = Nothing
End Sub
Private Sub ListBox1_Click()
Me.ListBox2.Clear
Dim Session As Workspace, db As Database
Dim tdf As TableDef, Chemin As String, fld As Field
Chemin = "D:EuropTestProductionsGpaoEuropTest.mdb"
Set Session = DBEngine.Workspaces(0)
Set db = Session.OpenDatabase(Chemin)
Set tdf = db.TableDefs(Me.ListBox1.Value)
Dim i&
Me.ListBox2.AddItem "Field Name"
Me.ListBox2.List(i, 1) = "Type"
For Each fld In tdf.Fields
i = i + 1
Me.ListBox2.AddItem fld.Name
Me.ListBox2.List(i, 1) = TypeName(fld.Type)
Next fld
db.Close
Set tdf = Nothing: Set db = Nothing: Set Session = Nothing
End Sub
Private Function TypeName(iType As Integer) As String
Select Case iType
Case dbBigInt: TypeName = "Big Integer"
Case dbBinary: TypeName = "Binary"
Case dbBoolean: TypeName = "Boolean"
Case dbByte: TypeName = "Byte"
Case dbChar: TypeName = "Char"
Case dbCurrency: TypeName = "Currency"
Case dbDate: TypeName = "Date"
Case dbDecimal: TypeName = "Decimal"
Case dbDouble: TypeName = "Double"
Case dbFloat: TypeName = "Float"
Case dbGUID: TypeName = "GUID"
Case dbInteger: TypeName = "Integer"
Case dbLong: TypeName = "Long"
Case dbLongBinary: TypeName = "Long Binary"
Case dbMemo: TypeName = "Memo"
Case dbNumeric: TypeName = "Numeric"
Case dbSingle: TypeName = "Single"
Case dbText: TypeName = "Text"
Case dbTime: TypeName = "Time"
Case dbTimeStamp: TypeName = "Time Stamp"
Case dbVarBinary: TypeName = "VarBinary"
Case Else: TypeName = ""
End Select
End Function
MP
"Emcy" a écrit dans le message de news:
#Bonjours,
Dans une listbox, je voudrais afficher toutes les tables de données de
maBDD Access : comment faire ?
Dans une autre listbox, j'ai deux collonnes : "Element" et "Type". Je
voudrais pour une table donnée, que ça me liste toutes les colonnes
ainsique leur type : comment faire ?
Re Emcy;
Même punition, même principe (sans référence obligatoire puisque
CreateObject):
Private Sub CommandButton1_Click()
Me.Repaint
Dim Chemin As String
Chemin = "Ici chemin complet de la base .mdb"
Dim cat As Object, tb As Object
Set cat = CreateObject("ADOX.Catalog")
cat.ActiveConnection = "Provider=Microsoft.Jet.OLEDB.4.0;" _
& "Data Source=" & Chemin
For Each tb In cat.Tables
Me.ListBox1.AddItem tb.Name
Next tb
Set cat = Nothing
End Sub
Private Sub ListBox1_Click()
Me.ListBox2.Clear
Dim Chemin As String
Chemin = "Ici chemin complet de la base .mdb"
Dim cat As Object, tb As Object, fld As Object
Set cat = CreateObject("ADOX.Catalog")
cat.ActiveConnection = "Provider=Microsoft.Jet.OLEDB.4.0;" _
& "Data Source=" & Chemin
Set tb = cat.Tables(Me.ListBox1.Value)
With Me.ListBox2
.AddItem "Field Name"
.List(0, 1) = "Type"
For Each fld In tb.Columns
.AddItem fld.Name
.List(.ListCount - 1, 1) = TypeName(fld.Type)
Next
End With
Set tb = Nothing: Set cat = Nothing
End Sub
Private Function TypeName(iType%) As String
Select Case iType
Case 2: TypeName = "Integer"
Case 3: TypeName = "Long"
Case 4: TypeName = "Single"
Case 5: TypeName = "Double"
Case 6: TypeName = "Currency"
Case 7: TypeName = "Date"
Case 11: TypeName = "Boolean"
Case 17: TypeName = "Byte"
Case 72: TypeName = "GUID"
Case 130: TypeName = "Char"
Case 131: TypeName = "Decimal"
Case 202: TypeName = "Text"
Case 203: TypeName = "Memo"
Case 204: TypeName = "Binary"
Case 205: TypeName = "Long Binary"
Case Else: TypeName = CStr(iType)
End Select
End Function
MP
"Emcy" <toto@bla.com> a écrit dans le message de news:
ef0t5ZO9FHA.632@TK2MSFTNGP10.phx.gbl...
excuse-moi, j'ai oublié de preciser que je le voulais en ADO(X) ...
"Michel Pierron" <michel.pierron@free.fr> a écrit dans le message de
news:
OT$pCsM9FHA.912@TK2MSFTNGP10.phx.gbl...
Bonjour Emcy;
Comme ceci (sans oublier la référence à DAO):
Private Sub CommandButton1_Click()
Dim Session As Workspace, db As Database
Dim tb As TableDef, Chemin As String
Chemin = "Ici chemin complet de la base .mdb"
Set Session = DBEngine.Workspaces(0)
Set db = Session.OpenDatabase(Chemin)
For Each tb In db.TableDefs
If Not Left(tb.Name, 4) = "MSys" Then Me.ListBox1.AddItem tb.Name
Next tb
db.Close
Set db = Nothing: Set Session = Nothing
End Sub
Private Sub ListBox1_Click()
Me.ListBox2.Clear
Dim Session As Workspace, db As Database
Dim tdf As TableDef, Chemin As String, fld As Field
Chemin = "D:EuropTestProductionsGpaoEuropTest.mdb"
Set Session = DBEngine.Workspaces(0)
Set db = Session.OpenDatabase(Chemin)
Set tdf = db.TableDefs(Me.ListBox1.Value)
Dim i&
Me.ListBox2.AddItem "Field Name"
Me.ListBox2.List(i, 1) = "Type"
For Each fld In tdf.Fields
i = i + 1
Me.ListBox2.AddItem fld.Name
Me.ListBox2.List(i, 1) = TypeName(fld.Type)
Next fld
db.Close
Set tdf = Nothing: Set db = Nothing: Set Session = Nothing
End Sub
Private Function TypeName(iType As Integer) As String
Select Case iType
Case dbBigInt: TypeName = "Big Integer"
Case dbBinary: TypeName = "Binary"
Case dbBoolean: TypeName = "Boolean"
Case dbByte: TypeName = "Byte"
Case dbChar: TypeName = "Char"
Case dbCurrency: TypeName = "Currency"
Case dbDate: TypeName = "Date"
Case dbDecimal: TypeName = "Decimal"
Case dbDouble: TypeName = "Double"
Case dbFloat: TypeName = "Float"
Case dbGUID: TypeName = "GUID"
Case dbInteger: TypeName = "Integer"
Case dbLong: TypeName = "Long"
Case dbLongBinary: TypeName = "Long Binary"
Case dbMemo: TypeName = "Memo"
Case dbNumeric: TypeName = "Numeric"
Case dbSingle: TypeName = "Single"
Case dbText: TypeName = "Text"
Case dbTime: TypeName = "Time"
Case dbTimeStamp: TypeName = "Time Stamp"
Case dbVarBinary: TypeName = "VarBinary"
Case Else: TypeName = ""
End Select
End Function
MP
"Emcy" <toto@bla.com> a écrit dans le message de news:
#GczN3L9FHA.3208@TK2MSFTNGP11.phx.gbl...
Bonjours,
Dans une listbox, je voudrais afficher toutes les tables de données de
ma
BDD Access : comment faire ?
Dans une autre listbox, j'ai deux collonnes : "Element" et "Type". Je
voudrais pour une table donnée, que ça me liste toutes les colonnes
ainsi
que leur type : comment faire ?
Re Emcy;
Même punition, même principe (sans référence obligatoire puisque
CreateObject):
Private Sub CommandButton1_Click()
Me.Repaint
Dim Chemin As String
Chemin = "Ici chemin complet de la base .mdb"
Dim cat As Object, tb As Object
Set cat = CreateObject("ADOX.Catalog")
cat.ActiveConnection = "Provider=Microsoft.Jet.OLEDB.4.0;" _
& "Data Source=" & Chemin
For Each tb In cat.Tables
Me.ListBox1.AddItem tb.Name
Next tb
Set cat = Nothing
End Sub
Private Sub ListBox1_Click()
Me.ListBox2.Clear
Dim Chemin As String
Chemin = "Ici chemin complet de la base .mdb"
Dim cat As Object, tb As Object, fld As Object
Set cat = CreateObject("ADOX.Catalog")
cat.ActiveConnection = "Provider=Microsoft.Jet.OLEDB.4.0;" _
& "Data Source=" & Chemin
Set tb = cat.Tables(Me.ListBox1.Value)
With Me.ListBox2
.AddItem "Field Name"
.List(0, 1) = "Type"
For Each fld In tb.Columns
.AddItem fld.Name
.List(.ListCount - 1, 1) = TypeName(fld.Type)
Next
End With
Set tb = Nothing: Set cat = Nothing
End Sub
Private Function TypeName(iType%) As String
Select Case iType
Case 2: TypeName = "Integer"
Case 3: TypeName = "Long"
Case 4: TypeName = "Single"
Case 5: TypeName = "Double"
Case 6: TypeName = "Currency"
Case 7: TypeName = "Date"
Case 11: TypeName = "Boolean"
Case 17: TypeName = "Byte"
Case 72: TypeName = "GUID"
Case 130: TypeName = "Char"
Case 131: TypeName = "Decimal"
Case 202: TypeName = "Text"
Case 203: TypeName = "Memo"
Case 204: TypeName = "Binary"
Case 205: TypeName = "Long Binary"
Case Else: TypeName = CStr(iType)
End Select
End Function
MP
"Emcy" a écrit dans le message de news:excuse-moi, j'ai oublié de preciser que je le voulais en ADO(X) ...
"Michel Pierron" a écrit dans le message de
news:
OT$Bonjour Emcy;
Comme ceci (sans oublier la référence à DAO):
Private Sub CommandButton1_Click()
Dim Session As Workspace, db As Database
Dim tb As TableDef, Chemin As String
Chemin = "Ici chemin complet de la base .mdb"
Set Session = DBEngine.Workspaces(0)
Set db = Session.OpenDatabase(Chemin)
For Each tb In db.TableDefs
If Not Left(tb.Name, 4) = "MSys" Then Me.ListBox1.AddItem tb.Name
Next tb
db.Close
Set db = Nothing: Set Session = Nothing
End Sub
Private Sub ListBox1_Click()
Me.ListBox2.Clear
Dim Session As Workspace, db As Database
Dim tdf As TableDef, Chemin As String, fld As Field
Chemin = "D:EuropTestProductionsGpaoEuropTest.mdb"
Set Session = DBEngine.Workspaces(0)
Set db = Session.OpenDatabase(Chemin)
Set tdf = db.TableDefs(Me.ListBox1.Value)
Dim i&
Me.ListBox2.AddItem "Field Name"
Me.ListBox2.List(i, 1) = "Type"
For Each fld In tdf.Fields
i = i + 1
Me.ListBox2.AddItem fld.Name
Me.ListBox2.List(i, 1) = TypeName(fld.Type)
Next fld
db.Close
Set tdf = Nothing: Set db = Nothing: Set Session = Nothing
End Sub
Private Function TypeName(iType As Integer) As String
Select Case iType
Case dbBigInt: TypeName = "Big Integer"
Case dbBinary: TypeName = "Binary"
Case dbBoolean: TypeName = "Boolean"
Case dbByte: TypeName = "Byte"
Case dbChar: TypeName = "Char"
Case dbCurrency: TypeName = "Currency"
Case dbDate: TypeName = "Date"
Case dbDecimal: TypeName = "Decimal"
Case dbDouble: TypeName = "Double"
Case dbFloat: TypeName = "Float"
Case dbGUID: TypeName = "GUID"
Case dbInteger: TypeName = "Integer"
Case dbLong: TypeName = "Long"
Case dbLongBinary: TypeName = "Long Binary"
Case dbMemo: TypeName = "Memo"
Case dbNumeric: TypeName = "Numeric"
Case dbSingle: TypeName = "Single"
Case dbText: TypeName = "Text"
Case dbTime: TypeName = "Time"
Case dbTimeStamp: TypeName = "Time Stamp"
Case dbVarBinary: TypeName = "VarBinary"
Case Else: TypeName = ""
End Select
End Function
MP
"Emcy" a écrit dans le message de news:
#Bonjours,
Dans une listbox, je voudrais afficher toutes les tables de données de
maBDD Access : comment faire ?
Dans une autre listbox, j'ai deux collonnes : "Element" et "Type". Je
voudrais pour une table donnée, que ça me liste toutes les colonnes
ainsique leur type : comment faire ?