• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Kodları Ayırma

Katılım
6 Temmuz 2008
Mesajlar
1,875
Excel Vers. ve Dili
OFFİCE 2010- TÜRKÇE
Kod:
Sub sil()
Dim Con As Object, Rs As Object, Sorgu As String
 Application.ScreenUpdating = False

    Set Con = CreateObject("Adodb.Connection")
    Set Rs = CreateObject("Adodb.RecordSet")
    ml.Range("A2:I" & Rows.Count).ClearContents
Con.Open "provider=microsoft.ace.oledb.12.0;data source=" & ThisWorkbook.Path & "\" & "MalzemeListesi.mdb" & ""

deg2 = stok.BA.Value

 Sorgu = "SELECT * FROM  MalzemeListesi WHERE BarkodNumarasi = '" & deg2 & "' "
        
        Rs.Open Sorgu, Con, 1, 3
       Rs.Delete
        Rs.Close: Con.Close
    Set Con = Nothing: Set Rs = Nothing: Sorgu = ""
   
 Application.ScreenUpdating = True
End Sub


Yukarıdaki kodları 3'e bölebilirmiyim?
Birkaç yol denedim fakat hata verdi.


Mesela ;

Başla;
Kod:
Dim Con As Object, Rs As Object, Sorgu As String
 Application.ScreenUpdating = False

    Set Con = CreateObject("Adodb.Connection")
    Set Rs = CreateObject("Adodb.RecordSet")
    ml.Range("A2:I" & Rows.Count).ClearContents
Con.Open "provider=microsoft.ace.oledb.12.0;data source=" & ThisWorkbook.Path & "\" & "MalzemeListesi.mdb" & ""

Bitir;
Kod:
Rs.Close: Con.Close
    Set Con = Nothing: Set Rs = Nothing: Sorgu = ""
 
Dener mi siniz?

Kod:
Dim Con As Object, Rs As Object, Sorgu As String

Sub menu()
  Application.ScreenUpdating = False
  Call baglanti_ac
  Call sorgula
  Application.ScreenUpdating = True
End Sub

Sub baglanti_ac()
  Set Con = CreateObject("Adodb.Connection")
  Set Rs = CreateObject("Adodb.RecordSet")
  ml.Range("A2:I" & Rows.Count).ClearContents
  Con.Open "provider=microsoft.ace.oledb.12.0;data source=" & ThisWorkbook.Path & "\" & "MalzemeListesi.mdb" & ""
End Sub

Sub sorgula()
  deg2 = stok.BA.Value
  Sorgu = "SELECT * FROM  MalzemeListesi WHERE BarkodNumarasi = '" & deg2 & "' "
  Rs.Open Sorgu, Con, 1, 3
  Rs.Delete
  Rs.Close: Con.Close
  Set Con = Nothing: Set Rs = Nothing: Sorgu = ""
End Sub
 
Kodlar sadece aynı modul içerisinde çalışıyor.

Mesela
Kod:
Sub baglanti_ac()
  Set Con = CreateObject("Adodb.Connection")
  Set Rs = CreateObject("Adodb.RecordSet")
  ml.Range("A2:I" & Rows.Count).ClearContents
  Con.Open "provider=microsoft.ace.oledb.12.0;data source=" & ThisWorkbook.Path & "\" & "MalzemeListesi.mdb" & ""
End Sub

bu kodu bir yere yazacağım sonra nereden bu kodu çalıştırırsam çalıştırayım hata vermemesş gerek.
 
Kodlar sadece aynı modul içerisinde çalışıyor.

Mesela
Kod:
Sub baglanti_ac()
  Set Con = CreateObject("Adodb.Connection")
  Set Rs = CreateObject("Adodb.RecordSet")
  ml.Range("A2:I" & Rows.Count).ClearContents
  Con.Open "provider=microsoft.ace.oledb.12.0;data source=" & ThisWorkbook.Path & "\" & "MalzemeListesi.mdb" & ""
End Sub

bu kodu bir yere yazacağım sonra nereden bu kodu çalıştırırsam çalıştırayım hata vermemesş gerek.

ilk mesajınızda modul problemi yoktu.

Bir kodu faklı bir modulden çalıştırmak için

Kod:
call modul1.baglanti_ac

gibi kullanabilirsiniz.
 
Değişen bir şey olmadı
baglanti_ac kodu zaten çalışıyor fakat diğer moldulde
Con bağlantısı nothing hatası veriyor.
 
Bu şekilde tanımlama yapar mı sınız?

Kod:
Public Con As Object
Public  Rs As Object
Public Sorgu As String
 
Geri
Üst