Connexion base de données multi-tables - VB/VBA/VBS - Programmation
MarshPosté le 07-05-2008 à 23:45:56
Bonjour à tous,
Voilà j'ai un petit problème, j'ai créé un datagridview qui affiche les données de deux tables "effectif" et "inactivité" grâce des jointures dans la requetes SQL, mais concernant la connexion je ne sais pas si c'est correct, car je ne sais pas comment on fait lorsqu'on veut manipuler deux tables, voilà lecode de ma connexion (je l'ai beaucoup bidouillé , voilà son dernier état) :
Code :
'Declaration de toutes les varibles
'Déclaration de la variable pour la connexion
Private cnx As OleDbConnection
'Déclaration de la variable pour la commande
Private cmd As OleDbCommand
'Déclaration de la variable pour le dataadapter
Private dta As OleDbDataAdapter
'Déclaration de la variable pour le dataset
Private dts As New DataSet
'Déclaration de la variable pour la requête
Private sql As String
'Déclaration de la variable pour la datatable
Private dtt_effectif As DataTable
'Déclaration de la variable pour la datatable
Private dtt_inactivité As DataTable
'Déclaration de la variable pour le datarow
Private dtr As DataRow
'Déclaration de la variable pour le Nº de l'enregistrement
Private rownum As Integer
'Déclaration de la variable pour la connectionstring
Private cnxstr As String
'Déclaration de la variable pour le commandbuilder
Private cmdb As OleDbCommandBuilder
Private READER As OleDbDataReader
Private requete As String
Private num As String
Function connection(ByVal requete As String, ByVal num As String)
'TODO : cette ligne de code charge les données dans la table 'Dossier_209_cocktailsDataSet.cocktail'. Vous pouvez la déplacer ou la supprimer selon vos besoins.
cnx.ConnectionString = cnxstr 'ConnexionString est un attribut , on le positionne à la valeur : "provider = microsoft.jet.oledb.4.0 ; data source = " & Application.StartupPath & "\dossier_209_cocktails.mdb"
'On etablit la connexion avec la base de donnsée definie en parametre
cnx.Open()
'Création de la requête sql
sql = requete
'Création de la commande et on l'instancie (sql)
cmd = New OleDbCommand(sql)
'Création du dataadapter (dta)
'Création du dataadapter (dta) et on l'instancie (cmd)
dta = New OleDbDataAdapter(cmd)
'On instancie la commande (cmd) à la connexion (cnx)
cmd.Connection() = cnx
'On charge le dataset (dts) grace à la propriété fill du dataadapter (dta)
dta.Fill(dts, "effectif" )
'On charge la datatable (dtt) grace à la propriété table du dataset (dts)
dtt_effectif = dts.Tables("effectif" )
dtt_inactivité = dts.Tables("inactivité" )
'Mettre dans le DataGrid une table DataTable
DataGrid2.SetDataBinding(dts, "effectif" )
Merci d'avance de m'indiquer ce qui ne va pas si vous passez par là et que vous vous y connaissez en VB
Marsh Posté le 07-05-2008 à 23:45:56
Bonjour à tous,
Voilà j'ai un petit problème, j'ai créé un datagridview qui affiche les données de deux tables "effectif" et "inactivité" grâce des jointures dans la requetes SQL, mais concernant la connexion je ne sais pas si c'est correct, car je ne sais pas comment on fait lorsqu'on veut manipuler deux tables, voilà lecode de ma connexion (je l'ai beaucoup bidouillé , voilà son dernier état) :
Merci d'avance de m'indiquer ce qui ne va pas si vous passez par là et que vous vous y connaissez en VB