Excel Userformuna Access Database'den Ado İle Veri Getirme Hakkında.

1 2
05/12/2022, 00:21

Oğuz Türkyılmaz

Merhaba herkese sağlıklı günler dilerim.
Öğrenme amacıyla düzenlediğim uygulamada Excel çalışma kitabında Userform.Cari adlı formun üzerinde ki TextBox.CariKod alanına Access veritabanı Cariler Tablosu ID alanında kayıtlı son ID numarasının bir fazlasını çekmeye çalışıyorum. Fakat sorguyu bağlantıda kullanmayı beceremedim. Bu konuda yardımcı olmanızı rica ederim.

Kod:
Public con As Object
Public rs As Object
Public CariID As Integer

Sub Baglan()

Set con = CreateObject("ADODB.Connection")
Set rs = CreateObject("ADODB.Recordset")


yol = "C:\Users\oguzt\Desktop\VBA PROJE\DB\Database_VBAOgreniyorum.accdb"
con.Open "provider=microsoft.ace.oledb.12.0;data source=" & _
yol & ";Persist Security Info=False;"
  
End Sub
  
Sub SonCariID_Getir()

Call Baglan

'Set con = CreateObject("ADODB.Connection")
'Set rs = CreateObject("ADODB.Recordset")

sqlBaglanti = "Select TOP 1 [ID] FROM Cariler ORDER BY [ID] DESC"

CariID = rs.Fields(0)

End Sub


Kod:
Private Sub UserForm_Activate()

AdoBaglan.SonCariID_Getir
TextBox_CariKod.Value = "C-000" & CariID + 1

ComboBox_Durumu.List = Array("Aktif", "Pasif")
ComboBox_Tipi.List = Array("Alıcı", "Satıcı", "Alıcı-Satıcı")

End Sub
05/12/2022, 09:34

berduş

kodda recordseti açtığınız yeri göremedim
rs.Open sqlBaglanti, con, 1, 3
veriyi almadan önce yukardaki kodla recordset açılmalı
2. olarak maximum ID'i bulmak için Max komutu kullanılabilir
sqlBaglanti = "Select max( [ID]) FROM Cariler " 
05/12/2022, 09:51

Oğuz Türkyılmaz

(05/12/2022, 09:34)berduş yazdı: kodda recordseti açtığınız yeri göremedim
rs.Open sqlBaglanti, con, 1, 3
veriyi almadan önce yukardaki kodla recordset açılmalı
2. olarak maximum ID'i bulmak için Max komutu kullanılabilir
sqlBaglanti = "Select max( [ID]) FROM Cariler " 

Halil hocam yeminle akşam bu mesajı foruma attıktan sonra bilgisayarı kapattım ve yattım, sonra uykuya dalmadan ben sorguyu düzenledim ama benim bir şey daha yapmam lazımdı sorgu kendi kendine mi çalışacak diye sesli sesli düşünmüşüm Hanım da yeter artık uyu diyince emir demiri kesti. . Akşam evde deneyip bilgi veririm çok teşekkürler.
05/12/2022, 13:35

atoykan

(05/12/2022, 09:51)Oğuz Türkyılmaz yazdı: Halil hocam yeminle akşam bu mesajı foruma attıktan sonra bilgisayarı kapattım ve yattım, sonra uykuya dalmadan ben sorguyu düzenledim ama benim bir şey daha yapmam lazımdı sorgu kendi kendine mi çalışacak diye sesli sesli düşünmüşüm Hanım da yeter artık uyu diyince emir demiri kesti. Hanımdan korkmam diyen erkek yalan söylermiş
05/12/2022, 14:14

berduş

Korku demeyelim de saygı ve sevgiden, incitme korkusu diyelim)
Sorunuz aslında Excel sorusu olduğundan Excel soruları bölümüne taşınmıştır
05/12/2022, 22:16

Oğuz Türkyılmaz

(05/12/2022, 09:34)berduş yazdı: kodda recordseti açtığınız yeri göremedim
rs.Open sqlBaglanti, con, 1, 3
veriyi almadan önce yukardaki kodla recordset açılmalı
2. olarak maximum ID'i bulmak için Max komutu kullanılabilir
sqlBaglanti = "Select max( [ID]) FROM Cariler " 

@halily hocam teşekkür ederim. Sorunum çözüldü. Gece sayıklamadan uyuyabilirim artık
1 2