cs_onh890
Messages postés26Date d'inscriptionlundi 22 mars 2010StatutMembreDernière intervention 1 août 2011
-
11 août 2010 à 15:55
cs_onh890
Messages postés26Date d'inscriptionlundi 22 mars 2010StatutMembreDernière intervention 1 août 2011
-
11 août 2010 à 19:55
salut les amis.
j'ai un problème avec une requête sql dans mon code Vb :
Sub ouvrir_remplir()
ObjetConnection = New OleDbConnection("provider=microsoft.jet.oledb.4.0;data source=C:\stage_ocp.mdb")
ObjetConnection.Open()
'récuperation de la ligne correpondante au repère choisi (Le repère est la clé primaire)
ObjetCommand = New OleDbCommand("select * from Transmetteur_de_pression where Repère='" & Combox1.text & "'")
ObjetCommand.Connection = ObjetConnection
ObjetDataAdapter = New OleDbDataAdapter(ObjetCommand)
ObjetDataAdapter.Fill(ObjetDataSet, "Transmetteur_de_pression")
ObjetDataTable = ObjetDataSet.Tables("Transmetteur_de_pression")
Dim j As Integer = 0
Dim i As Integer = 0
'Déclaration des variables
Dim appExcel As Excel.Application 'Application Excel
Dim wbExcel As Excel.Workbook 'Classeur Excel
Dim wsExcel As Excel.Worksheet 'Feuille Excel
'Ouverture de l'application
appExcel = CreateObject("Excel.Application")
'Ouverture d'un fichier Excel (déjà crée)
wbExcel = appExcel.Workbooks.Open("G:\fichier.xls")
'wsExcel correspond à la première feuille du fichier
wsExcel = wbExcel.Worksheets(1)
For j = 0 To 70
i = j + 1
wsExcel.Cells(i, 3) = ObjetDataTable.Rows(0).Item(j)
Next
ObjetConnection.Close()
wbExcel.Close()
End Sub
pour moi je me suis dis que ObjetDataTable.Rows(0).Item(j) (j variant de 0 à ObjetDataTable.Columns.count-1) contient une seule ligne qui est celle de la requête puisque "Repère" est une clé primaire alors que j'ai découvert autre chose, c'est que quand je fais entrer un repère donné (biensûr déjà existant dans ma base de données) le code m'imprime (dans mon fichier excel) une ligne autre que celle correspondante à mon repère choisi .
lolokun
Messages postés1241Date d'inscriptionmardi 10 octobre 2006StatutMembreDernière intervention27 août 20137 11 août 2010 à 16:00
Bonjour,
Ta clé primaire repère dans ta table est de quel type?
car là tu la compares à un string, or si c'est un entier il doit y avoir un problème de conversion..
L'expérience, c'est une connerie par jour, mais jamais la même..
cs_onh890
Messages postés26Date d'inscriptionlundi 22 mars 2010StatutMembreDernière intervention 1 août 20113 11 août 2010 à 19:55
Oui ma table comporte 71 colonnes.
ainsi tu vois pourquoi j'ai ajouter l'entier i=j+1 car j'ai déjà pensé à ta solution mais le j ne s'incrémente que lors de la première itération alors j'étais obligé de déclarer une nouvelle variable i=j+1.