ADODB.Recordsette için COMBOBOX YERİNE bir nesne ama ne?

Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
Kod:
Private Sub ComboBox85_Change()
On Error Resume Next
Call DegiskenTani
Dim i As Integer, SQLStr As String

Set RecTcNo = New ADODB.Recordset
    basliklar = "TCK_NO, ADI, SOYADI,ILKSOYADI, BABAADI, ANNEADI,"
    basliklar = basliklar & "DOGUM_Y, DOGUM_T, MD_HAL, CNS,"
    basliklar = basliklar & "SIG_NO"
    sayfaadi = "[DATA$]"
    sorgu = "TCK_NO = " & ComboBox85.Value
        SQLStr = "SELECT " & basliklar & " FROM " & sayfaadi & " WHERE " & sorgu
    With RecTcNo
            .Open SQLStr, bagTCKMLK, adOpenKeyset, adLockOptimistic
            .MoveFirst
            ComboBox86.Value = .Fields("ADI")
            TextBox3.Value = .Fields("SOYADI")
            TextBox15.Value = .Fields("ILKSOYADI")
            TextBox4.Value = .Fields("BABAADI")
            TextBox5.Value = .Fields("ANNEADI")
            TextBox6.Value = .Fields("DOGUM_Y")
            TextBox7.Value = .Fields("DOGUM_T")
            TextBox16.Value = .Fields("SIG_NO")
            If .Fields("CNS") = "Erkek" Then
                OptionButton1.Value = 1
            ElseIf .Fields("CNS") = "Kadın" Then
                OptionButton2.Value = 1
            Else
                OptionButton1.Value = 0: OptionButton2.Value = 0
            End If
    If CBool(.State And adStateOpen) = True Then .Close
    End With
Set RecTcNo = Nothing

Set RecTcNo = New ADODB.Recordset
    basliklar = "TCK_NO, AD_SOYAD, YK_DRC, YKN_TCK_NO, YKN_AD_SOYAD, YKN_CNS, YKN_DOGUM_Y, YKN_DOGUM_T"
    sayfaadi = "[YKN$]"
    sorgu = "TCK_NO = " & ComboBox85.Value
        SQLStr = "SELECT " & basliklar & " FROM " & sayfaadi & " WHERE " & sorgu
    
    With RecTcNo
            .Open SQLStr, bagTCKMLK, adOpenKeyset, adLockOptimistic
            .MoveFirst:        ComboBox91.Clear
                For i = 1 To .RecordCount
 [color="red"]                   ComboBox91.AddItem .Fields("YKN_TCK_NO")[/color]
                   .MoveNext
                Next i
            .MoveFirst:        ComboBox91.ListIndex = 0
        If CBool(.State And adStateOpen) = True Then .Close
    End With
Set RecTcNo = Nothing
End Sub
kırmızı satırda comboboa gelen tc noları comboboxa gelmesin,

userformda aşağıdaki görüntüyü elde edebileceğim bir nesneye gelsin
listwiev, spreadsheet, listbox gibi
SRNO, YK_DRC, YKN_TCK_NO, YKN_AD_SOYAD, YKN_CNS sütun başlıklarına
001, .Fields("YK_DRC") , .Fields("YKN_TCK_NO"), .Fields("YKN_AD_SOYAD"), .Fields("YKN_CNS")
002, .Fields("YK_DRC") , .Fields("YKN_TCK_NO"), .Fields("YKN_AD_SOYAD"), .Fields("YKN_CNS")

................

.Recordcount, .Fields("YK_DRC") , .Fields("YKN_TCK_NO"), .Fields("YKN_AD_SOYAD"), .Fields("YKN_CNS")

satırları gibi gözüksün.
command butona bastığımda seçili satırdaki değerler
aYK_DRC
aYKN_TCK_NO
aYKN_AD_SOYAD
aYKN_CNS
değişkenlerine atansın
 
Son düzenleme:
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
Kod:
Private Sub ComboBox91_Change()
On Error Resume Next
Call DegiskenTani
Dim i As Integer, SQLStr As String

Set RecTcNo = New ADODB.Recordset
    basliklar = "TCK_NO, AD_SOYAD, YK_DRC, YKN_TCK_NO, YKN_AD_SOYAD, YKN_CNS, YKN_DOGUM_Y, YKN_DOGUM_T"
    sayfaadi = "[YKN$]"
    sorgu = "TCK_NO = " & ComboBox85.Value & _
            "AND YKN_TCK_NO = " & ComboBox91.Value
        SQLStr = "SELECT " & basliklar & " FROM " & sayfaadi & " WHERE " & sorgu
    With RecTcNo
            .Open SQLStr, bagTCKMLK, adOpenKeyset, adLockOptimistic
            .MoveFirst
            ComboBox92.Value = .Fields("YKN_AD_SOYAD")
            TextBox20.Value = .Fields("YKN_DOGUM_Y")
            TextBox24.Value = .Fields("YK_DRC")
            .MoveFirst
        If CBool(.State And adStateOpen) = True Then .Close
    End With
Set RecTcNo = Nothing
End Sub
COMBOBOX91 Change olayını devre dışı bırakmak istiyorum yani.
 
Üst