OVH Cloud OVH Cloud

ado et excel

1 réponse
Avatar
John Smith
salut,
J'ouvre excel avec ce code

Dim XLConn As New ADODB.Connection
Dim adoConn As New ADODB.Connection
Dim XLCat As New ADOX.Catalog
Dim rsData As New ADODB.Recordset
Dim rsDesc As New ADODB.Recordset
Dim strSQL As String
Dim strText As String
Dim strDesc As String
Dim i As Integer
strFileName = "C:\temp\ftravail.xls"

XLConn.Open "Driver={Microsoft Excel Driver (*.xls)};" & _
"DriverId=790;" & _
"Dbq=" & strFileName
XLCat.ActiveConnection = XLConn
strSQL = "SELECT * FROM [DCOtemp$]"
Set rsData = XLConn.Execute(strSQL)
For i = 0 To rsData.Fields.Count - 1
Debug.Print rsData(i).Name
Do Until rsData.EOF
Debug.Print rsData(0)
rsData.MoveNext
Loop
Next i

Le debug.print me donner des valeur Null mais dans le fichier j'ai vraiment
des valeurs. Est-ce que c'Est un bug????

Projet/Paramètre
Null devrait etre -> Blanc
28749
28753
28754
28777
28778
28780
28807
28808
28828
Null devrait etre > Std

1 réponse

Avatar
John Smith
Bonjour,

J'ai changé un peu ma facon d'ouvrir la connection
Dim cn As ADODB.Connection
Dim rsADO As New ADODB.Recordset
Dim strSQL As String
Dim strPath As String
Dim i As Integer
Set cn = New ADODB.Connection
strPath = "C:tempftravail.xls"


With cn
.Provider = "Microsoft.Jet.OLEDB.4.0;Data Source=" & strPath &
";Extended Properties=""Excel 8.0;HDR=No;IMEX=1"""
'IMEX = 1 -> importe du text et numérique....
.Open
End With

' Specify Sheet Name and Cell Range
strSQL = "SELECT * FROM [Métauxtemp$]"
rsADO.Open strSQL, cn
MSFlexGrid1.Cols = rsADO.Fields.Count + 1
For i = 0 To rsADO.Fields.Count - 1
y = 1
Do Until rsADO.EOF
With MSFlexGrid1
If i = 0 Then
.Rows = y + 1
End If
.Row = y
.Col = i + 1
If IsNull(rsADO(i)) = False Then
.Text = rsADO(i)
End If
End With
y = y + 1
rsADO.MoveNext
Loop
rsADO.MoveFirst
Next i
Set cn = Nothing
Set rsADO = Nothing



"John Smith" wrote in message
news:IK1If.8385$
salut,
J'ouvre excel avec ce code

Dim XLConn As New ADODB.Connection
Dim adoConn As New ADODB.Connection
Dim XLCat As New ADOX.Catalog
Dim rsData As New ADODB.Recordset
Dim rsDesc As New ADODB.Recordset
Dim strSQL As String
Dim strText As String
Dim strDesc As String
Dim i As Integer
strFileName = "C:tempftravail.xls"

XLConn.Open "Driver={Microsoft Excel Driver (*.xls)};" & _
"DriverIdy0;" & _
"Dbq=" & strFileName
XLCat.ActiveConnection = XLConn
strSQL = "SELECT * FROM [DCOtemp$]"
Set rsData = XLConn.Execute(strSQL)
For i = 0 To rsData.Fields.Count - 1
Debug.Print rsData(i).Name
Do Until rsData.EOF
Debug.Print rsData(0)
rsData.MoveNext
Loop
Next i

Le debug.print me donner des valeur Null mais dans le fichier j'ai
vraiment des valeurs. Est-ce que c'Est un bug????

Projet/Paramètre
Null devrait etre -> Blanc
28749
28753
28754
28777
28778
28780
28807
28808
28828
Null devrait etre > Std