- Katılım
- 18 Mart 2007
- Mesajlar
- 171
- Excel Vers. ve Dili
- OFFICE 2016
- Altın Üyelik Bitiş Tarihi
- 02-03-2024
Sevgili arkadaşlar,
Aşağıdaki kodlarla ThisWorkbook.Path & "\kapalı dosya.xls" adındaki excel sayfama ADO yöntemi ile veri gönderiyorum ancak tüm hücrelerin içeriği başında tırnak ' işareti olarak metin şeklinde geliyor. Cells(i, 1).Value tarih formatında olmasına rağmen metin olarak atması büyük sıkıntı. Buna paralel olarak Cells(i, 15), 16, 17 hepsi sayı formatında ancak bunlarda hücrede başında tırnak işareti olarak geldiği için metin formatında geliyor. ado ile veri atarken bunları sayı formatında nasıl atabiliriz. Yardımcı olursanız çok memnun olurum. İlginize şimdiden teşekkür ederim.
Bu arada rs.Fields(13).Value = FormatNumber(CDbl(Val(Cells(i, 18).Value)), 2) bu şekilde denedim ama olmadı beceremedim.
Aşağıdaki kodlarla ThisWorkbook.Path & "\kapalı dosya.xls" adındaki excel sayfama ADO yöntemi ile veri gönderiyorum ancak tüm hücrelerin içeriği başında tırnak ' işareti olarak metin şeklinde geliyor. Cells(i, 1).Value tarih formatında olmasına rağmen metin olarak atması büyük sıkıntı. Buna paralel olarak Cells(i, 15), 16, 17 hepsi sayı formatında ancak bunlarda hücrede başında tırnak işareti olarak geldiği için metin formatında geliyor. ado ile veri atarken bunları sayı formatında nasıl atabiliriz. Yardımcı olursanız çok memnun olurum. İlginize şimdiden teşekkür ederim.
Bu arada rs.Fields(13).Value = FormatNumber(CDbl(Val(Cells(i, 18).Value)), 2) bu şekilde denedim ama olmadı beceremedim.
Kod:
Private Sub CommandButton1_Click()
Application.ScreenUpdating = False
Dim con As Object, rs As Object, sorgu As String, i As Integer
Set con = CreateObject("adodb.connection")
Set rs = CreateObject("adodb.recordset")
con.Open "provider=Microsoft.ACE.OLEDB.12.0;data source=" & ThisWorkbook.Path & "\kapalı dosya.xls" & _
";extended properties=""excel 8.0;hdr=yes"""
sorgu = "select * from [A$]"
With rs
.Open sorgu, con, 1, 3
' For i = 2 To 146
For i = 2 To Cells(Rows.Count, 1).End(xlUp).Row
.AddNew
rs.fields(0).Value = Cells(i, 1).Value
rs.fields(1).Value = Cells(i, 2).Value
rs.fields(2).Value = Cells(i, 3).Value
rs.fields(3).Value = Cells(i, 4).Value
rs.fields(4).Value = Cells(i, 5).Value
rs.fields(5).Value = Cells(i, 6).Value
rs.fields(6).Value = Cells(i, 7).Value
rs.fields(7).Value = Cells(i, 8).Value
rs.fields(8).Value = Cells(i, 9).Value
rs.fields(9).Value = Cells(i, 10).Value
rs.fields(10).Value = Cells(i, 11).Value
rs.fields(11).Value = Cells(i, 12).Value
rs.fields(12).Value = Cells(i, 13).Value
rs.fields(13).Value = Cells(i, 14).Value
rs.fields(14).Value = Cells(i, 15).Value
rs.fields(15).Value = Cells(i, 16).Value
rs.fields(16).Value = Cells(i, 17).Value
rs.fields(17).Value = Cells(i, 18).Value
rs.fields(18).Value = Cells(i, 19).Value
.Update
Next i
.Close
MsgBox "Verilerin aktarımı tamamlanmıştır. ", vbInformation + vbOKOnly + vbMsgBoxHelpButton, "Www.ExcelVBA.Net", "http://www.excelvba.net", 0
con.Close
Set rs = Nothing
Set rs = Nothing
sorgu = vbNullString
End With
End Sub