Sayfayı Yazdır | Pencereyi Kapat

Yeni Kayit Yapilamiyor ?

Nereden Yazdırıldığı: ERP Nedir? | Türkiye'nin ERP Forum Platformu
Kategori: ERP Genel
Forum Adı: ERP ve Excel
Forum Tanımlaması: ERP'den Excel'e Veri Çekmek ve Excel İle İlgili Bilgiler ve Sorular İçin...
URL: http://www.erpne.org/forum_posts.asp?TID=2612
Tarih: 22 Kasım 2024 Saat 07:25
Program Versiyonu: Web Wiz Forums 11.10 - http://www.webwizforums.com


Konu: Yeni Kayit Yapilamiyor ?
Mesajı Yazan: unalh
Konu: Yeni Kayit Yapilamiyor ?
Mesaj Tarihi: 24 Mayıs 2011 Saat 13:55
Merhabalar,
 
Bu kod ile TBLSTOKKOD1 bölümüne yeni kod1 kayitlari olusturmak istiyorum fakat hata veriyor.
 
.CommandType = adCmdText --- bu satirda hata veriyor.
 
 
Sub yeni()
Dim cnn As Object
Dim vtSql
Dim say%
Dim SqlText As String
On Error Resume Next
Set cnn = CreateObject("ADODB.Connection")
Set cmdCommand = CreateObject("ADODB.Command")
strServer = "........"
strDatabase = ".........."
strKullanici = "........."
strParola = "........"
sat = [a65536].End(3).Row
 With cnn
    .Provider = "sqloledb"
    .CommandTimeout = 120
    .ConnectionString = "Data Source=" & strServer & ";USER ID=" & strKullanici & ";PASSWORD=" & strParola & ";AUTO TRANSLATE=FALSE"
    .Open
    .DefaultDatabase = strDatabase
 End With
Set cmdCommand.ActiveConnection = cnn
 For say = 6 To sat
   With cmdCommand
       SqlText = "INSERT INTO TBLSTOKKOD1 (ISLETME_KODU,SUBE_KODU,GRUP_KOD,GRUP_ISIM,KAYITYAPANKUL,KAYITTARIHI,DUZELTMEYAPANKUL,DUZELTMETARIHI) VALUES('"
       SqlText = SqlText & Cells(say, 1)
       SqlText = SqlText & Cells(say, 2)
       SqlText = SqlText & Cells(say, 3)
      .CommandText = SqlText
    .CommandType = adCmdText
    .Execute
  End With
Next
   cmdCommand.Close
   cnn.Close
    Set cmdCommand = Nothing
    Set cnn = Nothing
End Sub
 
Ilginize simdiden tesekkür ederim.



Cevaplar:
Mesajı Yazan: mbaykan
Mesaj Tarihi: 25 Mayıs 2011 Saat 00:56
Dim cnn as Object satiri
Dim cnn, cmdCommand as Object olarak degistirin

sqlText degiskenini olusturan 3 sütun görüyorum. VALUES ( içinde, GRUP_KOD ve GRUP_ISIM degerlerini tirnak (') isaretleri arasinda almaniz gerekmez mi?
sqlText=sqlText + "'"+Cells(say, ?).value + "'," seklinde
Tabloya degisken olarak GRUP_KOD ve GRUP_ISIM alanlarina deger atayacaksiniz sanirim (bir de kayit yapan kullanici ve tarih alanlari eklenebilir)
sqlText'in sonunda da VALUES ile açilan parantezin kapanmasi gerekir ki
Komutunuz SQL tarafindan hatasiz islenebilsin.

Yardimici olabildim mi? Kolay gelsin



-------------
Mehmet Baykan


Mesajı Yazan: unalh
Mesaj Tarihi: 25 Mayıs 2011 Saat 08:21

mbaykan ilginize tesekkür ederim.

 
.CommandType = adCmdText --- bu satirda hata vermeye devam ediyor.


Mesajı Yazan: mbaykan
Mesaj Tarihi: 25 Mayıs 2011 Saat 10:13
sqlTEXT'i kontrol ettiniz mi? Debug.Print sqlText aldiginiz metni SQL'de manuel çalistirmayi deneyin. Aklima syntax probleminden baska bir sey gelmiyor.
adCommanText bir sabittir.(Enum)


-------------
Mehmet Baykan


Mesajı Yazan: unalh
Mesaj Tarihi: 25 Mayıs 2011 Saat 11:54
Sorunu birtürlü asamadim örnek dosya ekliyorum.
 
http://www.upload.gen.tr/d.php/www/88w2y2rk/Kod1_Yeni_Kay__t.xls.html - http://www.upload.gen.tr/d.php/www/88w2y2rk/Kod1_Yeni_Kay__t.xls.html


Mesajı Yazan: mbaykan
Mesaj Tarihi: 25 Mayıs 2011 Saat 12:18
Makroyu degistirdim. Baskalari da yararlanabilsin

Sub Kod1Olustur()
Dim cnn, cmdCommand As Object
'On Error Resume Next
Set cnn = CreateObject("ADODB.Connection")
Dim vtSql
Dim say%
   Set cnn = CreateObject("ADODB.Connection")
   cnn.Open "driver={SQL Server};server=" & Range("b1").Value & ";uid=" & Range("b2").Value & ";pwd=" & Range("b3").Value & ";database=" & Range("b4").Value & ""
    Set cmdCommand = CreateObject("ADODB.Command")
    Set cmdCommand.ActiveConnection = cnn
   
    Range("A6").Select
    Selection.CurrentRegion.Select
    sonst = Selection.Rows.Count  '[b65536].End(3).Row
    For say = 6 To sonst
      
       vtSql = ""
       vtSql = "INSERT INTO TBLSTOKKOD1 (ISLETME_KODU,SUBE_KODU,GRUP_KOD) VALUES("   ' buradaki tirnak olmaz
       vtSql = vtSql & Cells(say, 1) & ","
       vtSql = vtSql & Cells(say, 2) & ","
       vtSql = vtSql & "'" & Cells(say, 3) & "')"    ' Text degerleri Tirnak isaretleri arasina aldim
       Debug.Print vtSql
            With cmdCommand
            .CommandText = vtSql
            .CommandType = adCmdText
            .Execute
            End With
      Next say
    cnn.Close
    Set cmdCommand = Nothing
    Set cnn = Nothing
End Sub



-------------
Mehmet Baykan


Mesajı Yazan: unalh
Mesaj Tarihi: 25 Mayıs 2011 Saat 13:11
Mehmet Bey,
 
Ilginize tesekkür ederim.
 



Sayfayı Yazdır | Pencereyi Kapat

Forum Software by Web Wiz Forums® version 11.10 - http://www.webwizforums.com
Copyright ©2001-2017 Web Wiz Ltd. - https://www.webwiz.net