cs_lhomme
Messages postés27Date d'inscriptionlundi 7 juin 2004StatutMembreDernière intervention21 juillet 2004
-
19 juil. 2004 à 12:26
cs_PhilippeE
Messages postés437Date d'inscriptionmercredi 18 décembre 2002StatutMembreDernière intervention10 août 2010
-
20 juil. 2004 à 09:35
bonjour,
jai un petit probleme qui devient tres genant!
je fais un import basic de donnees de donnees a partir d un fichier excel vers une table Access.
le probleme est que lorsque j importe des chiffres a virgule mon programme les ecrit sans la virgule
ex 23,546 => 23456
Pkoi donc ??
Le probleme apparait pour les valeurs de iCSThis et de iCSTord
Voici mon code (sinon il sont declares en chiffre dans ma table Import )
Option Compare Database
Option Explicit
Public ClasseurXLS As Object
Private Sub Befehl8_Click()
Dim PathFic As String
Dim i As Integer
Dim j As Integer
Dim sql1 As String
Dim dbs As Database
Dim rs As Recordset
Dim iSatz As String
Dim i9AVersion As String
Dim iProduct As String
Dim iCFU As String
Dim iCPV As String
Dim iCCountry As String
Dim i9ALocno As String
Dim iCChannel As String
Dim i0Calweek As String
Dim i0Unit As String
Dim iCSThis As Double
Dim iCSTord As Double
'initialization of the objects we use
Set dbs = CurrentDb
Set ClasseurXLS = CreateObject("Excel.application")
'Initialization : ask the path of the file
If (Text0.Value <> "") Then
PathFic = Text0
Else
MsgBox ("The name of the file 1 is missing")
Forms!ImportForm![Text0].SetFocus
Exit Sub
End If
'Open the Worbook to import the information
ClasseurXLS.Workbooks.Open PathFic
ClasseurXLS.Visible = True
' To use the recordsets, the Microsoft DAO 2.5/3.5 Compatibility Library is needed
i = 1
Do While ClasseurXLS.Cells(i, 1) <> ""
i9AVersion = "00" & ClasseurXLS.Cells(i, 1)
iProduct = "0000000000000000000000000000000000000" & ClasseurXLS.Cells(i, 2)
iCFU = "0" & ClasseurXLS.Cells(i, 3)
iCPV = "0" & ClasseurXLS.Cells(i, 4)
iCCountry = ClasseurXLS.Cells(i, 5)
i9ALocno = "00" & ClasseurXLS.Cells(i, 6)
iCChannel = "0" & ClasseurXLS.Cells(i, 7)
i0Calweek = ClasseurXLS.Cells(i, 8)
i0Unit = ClasseurXLS.Cells(i, 9)
iCSThis = ClasseurXLS.Cells(i, 10)
iCSTord = ClasseurXLS.Cells(i, 11)
sql1 = "insert into Import (9AVERSION,PRODUCT,C_FU,C_PV,C_COUNTRY,9ALOCNO,C_CHANNEL, 0CALWEEK, 0UNIT,C_STHIS,C_STORD) VALUES ('" & i9AVersion & "','" & iProduct & "','" & iCFU & "','" & iCPV & "','" & iCCountry & "','" & i9ALocno & "','" & iCChannel & "','" & i0Calweek & "','" & i0Unit & "'," & iCSThis & "," & iCSTord & ")"
dbs.Execute (sql1)
i = i + 1
Loop
'closing the Workbook
ClasseurXLS.Workbooks.Close
MsgBox "finito"
End Sub
cs_lhomme
Messages postés27Date d'inscriptionlundi 7 juin 2004StatutMembreDernière intervention21 juillet 2004 19 juil. 2004 à 14:00
heu en fait c est bien un point que j ai et pas une virgule.
Access ne reconnaitrait pas le point ?
ca veut dire qu il faut que recupere mon chiffre en tant que string pour avoir le point et ensuite dans access , il faut que je caste ce string en int ?