Soru ADO İle Kayıt Yaparken Metin Olarak Kaydediyor.

bulentkars

Altın Üye
Katılım
5 Ağustos 2005
Mesajlar
671
Excel Vers. ve Dili
2003 TR
Altın Üyelik Bitiş Tarihi
23-03-2027
Arkadaşlar Merhaba,

ADO yöntemi ile dışarıdaki çalışma kitabına kayıt yapıyorum, ancak bazı sütünları metin olarak kaydediyor, ekte resim olarak ta gösterdim. Kodun içerisinde de belirttim, aşağıdaki 3 sutun başlığının metin olarak değil sayı olarak kaydetmesini istiyorum, yardımcı olabilirseniz sevinirim. Şimdiden Teşekkürler

Alan4 = Range("B6").Value ' BU ALAN
Alan8 = Range("B10").Value ' BU ALAN
Alan10 = Range("B12").Value ' BU ALAN


Sub Kaydet()

Dim adoCN As Object, TargetFile As String, strSQL As String, objRS As Object, i As Integer, tStart As Double
Const adOpenStatic = 3
Const adUseClient = 3
Const adLockBatchOptimistic = 4

DosyaAdi = Range("B4").Value & ".xlsb"


Alan1 = Range("B3").Value
Alan2 = Range("B4").Value
Alan3 = Range("B5").Value
Alan4 = Range("B6").Value ' BU ALAN
Alan5 = Range("B7").Value
Alan6 = Range("B8").Value
Alan7 = Range("B9").Value
Alan8 = Range("B10").Value ' BU ALAN
Alan9 = Range("B11").Value
Alan10 = Range("B12").Value ' BU ALAN


tStart = Timer

Set adoCN = CreateObject("ADODB.Connection")


TargetFile = "Z:\Şahin\Database\" & DosyaAdi


adoCN.Provider = "Microsoft.ACE.OLEDB.12.0"
adoCN.Properties("Data Source") = TargetFile
adoCN.Properties("Extended Properties") = "Excel 12.0; HDR=No"
adoCN.Open

Set objRS = CreateObject("ADODB.Recordset")

strSQL = "Select Count(*) From [Data$] Where F1 Is Not Null"

With objRS
.CursorType = adOpenStatic
.CursorLocation = adUseClient
.LockType = adLockBatchOptimistic
.ActiveConnection = adoCN
.Source = strSQL
.Open
End With

i = objRS(0)

strSQL = "Insert Into [Data$" & "A" & i & ":M" & i & "] (F1, F2, F3, F4, F5, F6, F7, F8, F9, F10) " & _
"Values " & _
"('" & Alan1 & "','" & Alan2 & "','" & Alan3 & " ','" & Alan4 & "'," & _
"'" & Alan5 & "','" & Alan6 & "','" & Alan7 & " ','" & Alan8 & "'," & _
"'" & Alan9 & "','" & Alan10 & "')"


adoCN.Execute strSQL

MsgBox "Veri aktarımı tamamlanmıştır." & Chr(10) & Chr(10) & _
"İşlem süresi ; " & Format(Timer - tStart, "0.00") & " Saniye", vbInformation, Application.UserName

adoCN.Close
Set adoCN = Nothing

End Sub
 

Ekli dosyalar

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,250
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Bahsettiğiniz alanlar için sorgu satırında başındaki ve sonundaki TEK TIRNAK işaretlerini silerek deneyiniz.

Düzeltmeniz gereken satır...

strSQL = "Insert Into [Data$" & "A" & i & ":M" & i & "] (F1, F2, F3, F4, F5, F6, F7, F8, F9, F10) " & _
"Values " & _
"('" & Alan1 & "','" & Alan2 & "','" & Alan3 & " ','" & Alan4 & "'," & _
"'" & Alan5 & "','" & Alan6 & "','" & Alan7 & " ','" & Alan8 & "'," & _
"'" & Alan9 & "','" & Alan10 & "')"
 

bulentkars

Altın Üye
Katılım
5 Ağustos 2005
Mesajlar
671
Excel Vers. ve Dili
2003 TR
Altın Üyelik Bitiş Tarihi
23-03-2027
Korhan Bey,

Tek satır Haline aldım TEK TIRNAK işaretlerini kaldırıdım,
"(" & Alan1 & "," & Alan2 & "," & Alan3 & "," & Alan4 & "," & Alan5 & "," & Alan6 & "," & Alan7 & "," & Alan8 & "," & Alan9 & "," & Alan10 & ")"

bu satırda hata veriyor
adoCN.Execute strSQL
 

Ekli dosyalar

bulentkars

Altın Üye
Katılım
5 Ağustos 2005
Mesajlar
671
Excel Vers. ve Dili
2003 TR
Altın Üyelik Bitiş Tarihi
23-03-2027
Korhan Bey,
Tırnakları kaldırıyorum olmuyor, aklıma farklı bir çözüm geldi mümkün mü acaba?
kayıt işlemini yaptıktan sonra "D,H,J" sutunlarını sayı olarak dönüştürebilir miyiz?
kayıt işlemini yapacak sonra sayıya dönüştürüp dosyayı kapatacak. Mümkünse yardımcı olabilirseniz sevinirim
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,250
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Benim deneme şansım şimdilik yok. Ama sanırım siz tüm tırnakları silmişsiniz. Sadece sayı olması gereken alanların tek tırnaklarını silip deneyiniz.

Belki önerdiğim yöntem kapalı dosyaya kayıt yapma işleminde çalışmıyor olabilir. Tecrübeli arkadaşlar destek verebilirler.
 

N.Ziya Hiçdurmaz

Özel Üye
Katılım
28 Nisan 2007
Mesajlar
2,218
Excel Vers. ve Dili
Office 2013 TR / 32 Bit
239766
Kapalı dosyanın sütun başlıklarının bir alt hücresinin formatını sayı olarak ayarlarsanız aşağı doğru aynı formatta devam eder.
 

bulentkars

Altın Üye
Katılım
5 Ağustos 2005
Mesajlar
671
Excel Vers. ve Dili
2003 TR
Altın Üyelik Bitiş Tarihi
23-03-2027
Merhaba,

Yaptım olmadı malesef...
 

bulentkars

Altın Üye
Katılım
5 Ağustos 2005
Mesajlar
671
Excel Vers. ve Dili
2003 TR
Altın Üyelik Bitiş Tarihi
23-03-2027
Merhaba,

Tüm yolları denedim, sorunu buldum anacak çözemedim yardımcı olabilirseniz gerçekten çok sevinirim.


Kapalı dosyanın sütun başlıklarının bir alt hücresinin formatını sayı olarak ayarlarsanız aşağı doğru aynı formatta devam eder.
** Bir alt satır dolu ise oluyor, ancak boş ise olmuyor..
** Benim 20 adet dosyam var dosyalara sürekli kayıt yapıyorum, ve her ay temizliyorum..
Şunu yapabilirmiyiz, kayıt yaparken önce "sutunlarını sayı olarak çevirebilir miyiz..
 

N.Ziya Hiçdurmaz

Özel Üye
Katılım
28 Nisan 2007
Mesajlar
2,218
Excel Vers. ve Dili
Office 2013 TR / 32 Bit
Merhaba; kapalı dosya başlık altı formatlarını manuel ayarlamanız gerekli.
 

Ekli dosyalar

Üst