Connection base access

Triptek Messages postés 17 Date d'inscription mardi 27 mai 2008 Statut Membre Dernière intervention 15 septembre 2008 - 12 sept. 2008 à 14:56
zen69 Messages postés 584 Date d'inscription jeudi 28 décembre 2006 Statut Membre Dernière intervention 29 avril 2010 - 12 sept. 2008 à 16:26
Bonjour tout le monde,

J'ai besoin de vous! Je voudrais me connecter à une base de donnée access et je tombe sur une erreur que je ne comprends pas! Je vous donne mon code :



' Declaration de la variable pour la connection

Private
cnx

As
OleDbConnection




' Declaration de la variable pour la commande

Private
cmd

As
OleDbCommand




' Declaration de la variable pour le dataadapter

Private
dta

As
OleDbDataAdapter




' Decalaration de la variable pour le dataset

Private
dts

As



New
DataSet




' Declaration de la variable pour la requˆte

Private
sql

As



String








' Declaration de la variable pour le datatable

Private
dtt

As



New
DataTable


' Declaration de la variable pour le datarow

Private
dtr

As
DataRow


' Declaration de la variable pour le nø d'enregistrement

Private
rownum

As



Integer






' Declaration de la variable pour la connectionstring

Private
cnxstr

As



String






' Declaration de la variable pour le commandbuilder

Private
cmdb

As
OleDbCommandBuilder


' Ouverture de la connection

cnxstr "provider microsoft.jet.oledb.4.0 ; data source = "
& Application.StartupPath &

"\Stats Serveurs BURGER.mdb"



cnx =




New
OleDbConnection
cnx.ConnectionString = cnxstr
cnx.Open()


'Cr‚ation de la requˆte SQL

sql =

"SELECT * FROM SRVAPPS"






' Cr‚ation de la commande et on l'instancie (sql)

cmd =

New
OleDbCommand(sql)


' Cr‚ation du dataadapter (dta) et on l'instancie (cmd)

dta =

New
OleDbDataAdapter(cmd)


' On instancie la commande (cmd) … la connection (cnx)

cmd.Connection() = cnx


' On charge le dataset (dts) grƒce … la propri‚t‚ fill du dataadapter (dta)

dta.Fill(dts,

"SRVAPPS"
)MsgBox(dtt.Rows(0).Item(2))




Il me donne l'erreur suivante :
 
"L'exception IndexOutOfRangeException n'a pas été gérée"
"Aucune ligne à la position 0"

J'ai un enregistrement à la position 0 sa c'est sur par contre j'ai penser que l'exception venait du fait que je n'ai pas d'index sur ma table (inutile pour son utilisation) Je suis obligé d'utiliser un index du coup?

Merci d'avance de vos réponses.

3 réponses

Triptek Messages postés 17 Date d'inscription mardi 27 mai 2008 Statut Membre Dernière intervention 15 septembre 2008
12 sept. 2008 à 15:02
Finalement avec ou sans index sa ne change rien, l'erreur ne viens donc pas de là... Je vais continuer mes recherche en attendant un peu d'aide ^^
0
Triptek Messages postés 17 Date d'inscription mardi 27 mai 2008 Statut Membre Dernière intervention 15 septembre 2008
12 sept. 2008 à 15:14
Moins de 5 minute pour trouver mon erreur, excusez du derangement. J'ai oublier la ligne suivante :

dtt = dts.Tables(

"Table")

Par contre, tant que je suis là une autre question. J'ai uen erreur lorsque je charge une base au format access 2007 (*.accdb), je suis obliger de basculer en 2003 pour être en *.mdb. C'est possible de lire les base de access 2007 et si oui comment?

Merci d'avance et dsl pour le monologue ! ^^
0
zen69 Messages postés 584 Date d'inscription jeudi 28 décembre 2006 Statut Membre Dernière intervention 29 avril 2010 1
12 sept. 2008 à 16:26
Pour access j'imagine que tu as simplement besoin du bon driver...

Tu as access 2007 d'installer?

provider = microsoft.jet.oledb.4.0 a verifier c'est peut-etre une version plus recente du moteur jet qu'il te faut.... simple suppositions

<hr size="2" width="100%" /> 
  zen69 aka Ortho Le Profett
 
0
Rejoignez-nous