Programmation VB 6 requête SQL

ripcurlpro Messages postés 4 Statut Membre -  
random Messages postés 1612 Statut Membre -
Bonjour a tous,

Je suis en train de faire ne petite application, avec une combox qui me fournirrai toutes les tables d'une base de donnée access.

Et de celle ci apres en ListIndex remplit une Listbox avec les noms des champs...

Je reste disponible si cela n'est pas clair

OS : win XP
Prog : VB 6
Access 2003 base en 2000

Merci

2 réponses

  1. rudy
     
    Voici un code que j'avais déjà donné dans le forum :

    Ici, je travaille avec des tables DB2 Server, mais il devrait être possible de transcrire pour Access.

    J’ai ouvert tout d’abord une nouvelle form en ayant auparavant ajouté dans mes composants le " Microsoft Data Bound Grid Control 5.0 (SP3)."
    Dans la feuille, j’ai placé un Combo, un bouton de commande, une DBGrid et un contrôle MSRDC.
    Dans les propriétés de la DBGrid, sous l’onglet " Général " toutes les options de la frame de gauche sont à sélectionner.
    Le combo sert à récupérer le nom des tables sur lesquelles je veux travailler : dans mon cas toutes celles commençant par « REF ». Ceci se fait lors de l’ouverture de la form. Voici le code :

    Private Sub Form_Load()
    sql = "Select table_name from sysibm.tables where table_schema = 'mabase' and table_name like 'REF%' order by table_name"
    Cmd.CommandText = sql
    Cmd.CommandType = adCmdText
    Set Rst = Cmd.Execute
    Do While Not Rst.EOF
    Combo1.AddItem Rst!table_name
    Rst.MoveNext
    Loop
    End Sub

    Un click sur le bouton de commande permet alors d’afficher sous forme « feuille de données (type Excel) toutes les données de la table sélectionnée :

    Private Sub Command1_Click()
    If Combo1.Text = "" Then
    MsgBox "Veuillez sélectionner une table!", vbCritical, "Anomalie"
    Exit Sub
    Else
    MSRDC1.sql = "Select * from mabase" & Combo1.Text
    sql = "Select colname from syscat.columns where tabname = '" & Combo1.Text & "' and keyseq >=1 order by keyseq"
    Cmd.CommandText = sql
    Cmd.CommandType = adCmdText
    Set Rst = Cmd.Execute
    Do While Not Rst.EOF
    If key1 = 0 Then
    MSRDC1.sql = MSRDC1.sql & " order by " & Rst!colname
    key1 = 1
    Else
    MSRDC1.sql = MSRDC1.sql & " , " & Rst!colname
    End If
    Rst.MoveNext
    Loop
    MSRDC1.Refresh
    End If
    End Sub

    A partir de là, il est alors possible de créer un nouvel enregistrement, d’en modifier un autre ou encore de supprimer un enregistrement gênant.
    Les propriétés de MSRDC sont les suivantes :

    Appearance : 1 rd3Dbevel BOFaction : 0 rdMoveFirst CursorDriver : 1 rdUseODBC
    EOFAction : 0 rdMoveLast LockType : 3 rd ConcurRowVer Prompt : 3 rdDriverCompleteRequired
    ReadOnly : False ResultSetType : 1 rdOpenKeySet Visible : False
    0
  2. random Messages postés 1612 Statut Membre 155
     
    sous vba
    for each truc in mybases.tablefs
    malistederoulante.list.append (truc.name)
    next truc
    0