2-EXCEL VBA İLE SQL NETSİS DATABASE VERİTABANI İŞLEMLERİ KULLANARAK PROGRAM YAPMA (ADODB)

Excel VBA UserForm ile Netsis'de Stok Kart Açılması

Bu yazımızda da, daha önce oluşturduğumuz bağlantı alt yapısıyla hazırladığımız Stok Kart Formu üzerinde bulunan butonlarımızdan STOK KARTI AÇ ile Netsis’de Stok Kart açma işlemini pratik ve hızlı bir şekilde sağlamaya çalışalım.

İlk olarak Stok Kodu konrol metotumuzu Modül üzerinde aşağıdaki gibi bir kodlama ile sağlayalım.

Daha Sonra Form üzerinde STOK KARTI AÇ Butonuna tıklayarak CommanButton1_Click Event’ine (olayına) aşağıdaki gibi kodlarımızı yazalım.

Private Sub CommandButton1_Click()

Call StokKartVarMi 'Bu metot ile açılacak yeni Stok Kodunun Sistemde olup olmadığı kontrolü yapılır.

If Sheets("Parametre").Range("J20").Value = 1 Then

MsgBox ("Stok Kodu Tanımlı!! Yeniden Kart açamazsınız!!"), vbCritical

Exit Sub

Else

If TextBox2.Value = "" Or TextBox10.Value = "" Or TextBox11.Value = "" Or TextBox15.Value = "" Or TextBox16.Value = "" Then

MsgBox ("Sarı Renkli Alanlar Boş Geçilemez!"), vbCritical

Exit Sub

Else

sor = MsgBox("Yeni Stok Kartı açılacak, Emin misiniz?", vbYesNo)

If sor = vbNo Then

Exit Sub

Else

On Error GoTo Hata

End If

With frm_StokKart

.TextBox4.Value = "18"

.TextBox5.Value = "18"

.TextBox12.Value = "0"

.TextBox13.Value = "0"

.ComboBox1.Value = "AD"

Dim stokkodu, stokadi, ureticikd, kod3, kod4, kod5, grpkd, ingisim, olcubr, kod1, kod2, u As String

Dim KDV As Integer

KDV = .TextBox4.Value

stokkodu = .TextBox1.Value

stokadi = .TextBox2.Value

ureticikd = .TextBox10.Value

kod1 = .TextBox12.Value

kod2 = .TextBox13.Value

kod3 = .TextBox14.Value

kod4 = .TextBox15.Value

kod5 = .TextBox16.Value

grpkd = .TextBox11.Value

ingisim = .TextBox3.Value

olcubr = .ComboBox1.Value

u = Sheets("Parametre").Range("E12").Value

    Call SqlBaglantiAc

    strSQL = "INSERT INTO TBLSTSABIT (MUH_DETAYKODU,SUBE_KODU,ISLETME_KODU,STOK_KODU,STOK_ADI,SATIS_FIAT1,SATIS_FIAT2,SATIS_FIAT3,SATIS_FIAT4,ALIS_FIAT1,KDV_ORANI,ALIS_KDV_KODU,GRUP_KODU,URETICI_KODU,KOD_4,KOD_5,KOD_3,OLCU_BR1,BARKOD1,BARKOD2,BARKOD3,KOD_1,KOD_2)"

    strSQL = strSQL + " VALUES ('1','-1','1','" & stokkodu & "', dbo.TURKCE(N'" & stokadi & "')"

    strSQL = strSQL + ",0,0,0,0,0,'" & KDV & "','" & KDV & "','" & grpkd & "','" & ureticikd & "',dbo.TURKCE(N'" & kod4 & "'),dbo.TURKCE(N'" & kod5 & "'),Null,'" & olcubr & "',Null,Null,Null,'" & kod1 & "','" & kod2 & "')"

    strSQL = strSQL + " INSERT INTO TBLSTSABITEK (STOK_KODU,TUR,KAYITTARIHI,KAYITYAPANKUL,INGISIM,KULL1S,KULL2S,KULL3S,KULL4S,KULL5S, KULL6S, KULL7S, KULL8S, KULL1N, KULL2N, KULL3N, KULL4N, KULL5N, KULL6N, KULL7N, KULL8N)"

    strSQL = strSQL + " VALUES ('" & stokkodu & "','D'," & "GETDATE()" & ",'" & u & "','" & ingisim & "',Null,Null,Null,Null,Null,0,0,0,0,0,0,0,0,Null,Null,Null)"

    'Sheets("kontrol").Range("A37").Value = strSQL ---> (Bu kontrol ile SQL sorgu cümlesi alınarak SQL cümle yapısında hata kontrolü yapılabilir)--

    rs.Open strSQL, cn

    Sheets("kontrol").Range("A35").CopyFromRecordset rs

   Call SqlBaglantiKapat

End With

Hata:

MsgBox Err.Description

  End If

  MsgBox ("Yeni Stok Kartı Açılmıştır.." & stokkodu & " - " & stokadi & ""), vbInformation

  End If

End Sub

Bu şekilde kodlarımızı yazdıktan sonra Debug işlemi için Üst menüden Compile VBAProject seçeneği ile kod hatalarını veya referans eksikliklerini tespit ederek düzeltmeliyiz.

 

Şimdi de bir deneme stok kodu açmak için formumuzu çalıştıralım. Aşağıdaki gibi bir sonuç almanız için ayrıca dikkat edilmesi gereken bazı zorunlu alanların kullanıcı tarafından ilgili TextBox (Zemini Sarı olan alanlar) alanlarına yazılmasıdır. Aksi takdirde zaten kodlarımızda detaylara dikkat ederseniz bu konuda da bir kontrol yapıldığı ve kullanıcıya uyarı yapacağı görülebilir.

 

 

STOK KART AÇ butonuna tıklanınca aşağıdaki gibi bir uyarı mesajı ile onay alıyoruz.

Aşağıdaki gibi bir mesaj gelecek bu mesaja takılmayalım. Tamam diyerek geçiyoruz.

Son olarak Stok Kartımızın açıldığına dair mesajı alıyoruz ve kontrolümüzü Stok Kart Formu üzerinden ve SQL databasemiz üzerinden kontrolünü yapıyoruz.

Yorum görüşlerinizi yazabilirsiniz..

Başka bir makalede görüşmek üzere..

Adnan Bulut

 

 

Yorumunuzu Ekleyin

Yükleniyor...