cs_petchy
Messages postés710Date d'inscriptionjeudi 20 février 2003StatutMembreDernière intervention19 mai 2015
-
28 mai 2010 à 15:24
c148270
Messages postés303Date d'inscriptionmercredi 12 janvier 2005StatutMembreDernière intervention 3 octobre 2013
-
31 mai 2010 à 09:13
bonjour
avec se code je récupere des tables de ma base ACCESS pour afficher dans une listbox.
Private Sub cmd_import_Click()
'Bouton permettant d'importer les fichiers
On Error Resume Next
Nb_Rec_Total = 0
Lst_Tables.Clear
ComDlg.InitDir = App.Path
ComDlg.ShowOpen
If ComDlg.FileName <> "" Then
LstTableArr.Clear
Cmd_Suiv.Visible = True
Lst_Tables.Clear
lstchamp.Clear
ext = Right(ComDlg.FileName, Len(ComDlg.FileName) - Len(ComDlg.FileName) + 3)
If cnn.State = 1 Then cnn.Close
cnn.Open Connection_Base(ext, ComDlg.FileName, ComDlg.FileTitle)
If Err.Number = -2147467259 Then cnn.Open Connection_Base_Fox(ext, ComDlg.FileName, ComDlg.FileTitle)
Set RS = cnn.OpenSchema(adSchemaTables)
If ext "xls" Or ext "XLS" Then
Do While Not RS.EOF
Lst_Tables.AddItem (RS!table_name)
RS.MoveNext
Loo
Else
Do While Not RS.EOF
If RS!table_type = "TABLE" Then Lst_Tables.AddItem (RS!table_name)
RS.MoveNext
Loop
End If
Lst_Tables.Text = Lst_Tables.List(0)
If RS.State = 1 Then RS.Close
Lst_Tables.Refresh
Fch_Nom.Text = ComDlg.FileTitle
If ext "mdb" Or ext "MDB" Then Opt_Type(1).Value = True
Fch_Nom.Text = Left(ComDlg.FileName, Len(ComDlg.FileName) - Len(ComDlg.FileTitle))
End If
End If
End Sub
Comment faire pour récupérer les requêtes de ma base pour les afficher avec les tables dans ma listbox
merci
petchy
c148270
Messages postés303Date d'inscriptionmercredi 12 janvier 2005StatutMembreDernière intervention 3 octobre 20131 29 mai 2010 à 02:26
Bonjour
Voici un exemple à adapter. Il s'agit d'un module ACCESS
Le nom des requetes en mis en table
Function listerequete()
Set T_liste = dbs.OpenRecordset("Liste_requete", , dbAppendOnly)
For Each qdf In Dbs_remote.QueryDefs ' (dbs_remote est ma base externe)
If Left$(qdf.Name, 1) <> "~" Then
T_liste.AddNew
T_liste![nom] = qdf.Name
T_liste.Update
End If
Next qdf
End Function
Une autre possibilité est de rechercher les noms dans la table MsysObjects.
Les requetes sont de type 5
Penser à éliminer les noms commençant par ~ (ce sont les requetes supprimées)
cs_petchy
Messages postés710Date d'inscriptionjeudi 20 février 2003StatutMembreDernière intervention19 mai 20154 30 mai 2010 à 09:35
bonjour
merci pour ton code,mais je n'arrive pas à l'adapter
j'ai essayer de remplacer
table_name --> qdf.Name ,mais il n'y à plus rien qui s'affiche dans la listbox.
petchy
c148270
Messages postés303Date d'inscriptionmercredi 12 janvier 2005StatutMembreDernière intervention 3 octobre 20131 31 mai 2010 à 09:13
Bonjour
En examinant ton code le test ext="xls" me surprend. Cette extention désigne un classeur excel.
Dans mon esprit l'adapté était du genre :
Dans mon exemple la base à explorer est considérée ouverte.Si ce n'est pas le cas il faut rajouter en tête :
Set Dbs_remote = OpenDatabase("chemin de la base")
De même la table "liste_requete" est censée existée avec un champ nommé Nom.
je crée une table que j'utilise dans un formulaire. Je ne charge pas directement le formulaire.