Listedeki Tüm Kayıtları Alt Forma Aktarmak

1 2
10/05/2020, 02:57

SeferŞANLI

Dim GItem As Variant
Dim gogrid As Integer
Dim gadsoyad As String
For Each GItem In Me.listeogrenci.ItemsSelected
gogrid = Me.listeogrenci.Column(0, GItem)
gadsoyad = Me.listeogrenci.Column(1, GItem)
If DCount("trc_id", "tbl_tercihler", "[is_id]=" & is_id & "and [ogr_id]=" & gogrid) <> 0 Then
MsgBox (gadsoyad & " " & "isimli öğrenciyi eklediniz")
Else
DoCmd.SetWarnings False
DoCmd.RunSQL "insert into tbl_tercihler(ogr_id,adsoyad,is_id)values(" & gogrid & ",'" & gadsoyad & "'," & is_id & ")"
DoCmd.SetWarnings True
End If
Next GItem
Me.frm_alt_tercih.Requery

Sayın hocalarım; Verdiğim kodda listeogrenciler listesinden seçilen kayıtları  "frm_alt_tercih" alt formuna göndererek "tbl_tercihler" tablosuna kayıtları oluşturuyorum.

* listedeki tüm kayıtları aktarma işlemini nasıl yapabilirim?
* listedeki tüm kayıtları geri alma (silme) işlemini nasıl yapabilirim?


silme butonu kodlarım
Dim GItem As Variant
Dim gogrid As Integer
Dim gadsoyad As String
gogrid = [frm_alt_tercih].Form![ogr_id]
gadsoyad = [frm_alt_tercih].Form![txtogradsoyad]

If MsgBox([frm_alt_tercih].Form![txtogradsoyad] & " listeden silinsin mi?", vbQuestion + vbYesNo) = vbYes Then
DoCmd.RunSQL "delete ogr_id,adsoyad from tbl_tercihler where (((ogr_id)=" & gogrid & ") and ((adsoyad)='" & gadsoyad & "'));"
DoCmd.SetWarnings True
End If
Me.listeogrenci.Requery
Forms!frm_tercih_islemleri!.Form.frm_alt_tercih.Requery
10/05/2020, 03:32

SeferŞANLI

eklediğim dosyada dal tercih işlemleri formunda bir butona bastığımda listedeki tüm öğrencilerin alt form aktarılması
10/05/2020, 11:14

berduş

tümünü eklemek istediğinizde olmayanları eklemesini istiyorsunuz değil mi?
"tümünü ekle" diye yeni bir buton eklenecek ve kodlar oraya yazılacak?
10/05/2020, 13:33

SeferŞANLI

Evet sayın berduş. Tümünü ekle butonu ekleyerek, mükerrer olmamak kaydıyla listedeki tüm kişileri alt forma ekeyecek. Tümünü sil dediğimdede altformu boşaltacak.
10/05/2020, 14:07

berduş

tümünü eklemek için bir butona aşağıdaki kodu ekleyip dener misiniz?
Dim GItem As Variant
Dim gogrid, xList As Integer
Dim gadsoyad As String

For xList = 1 To Me.listeogrenci.ListCount - 1
gogrid = Me.listeogrenci.Column(0, xList)
gadsoyad = Me.listeogrenci.Column(1, xList)

If DCount("trc_id", "tbl_tercihler", "[is_id]=" & is_id & "and [ogr_id]=" & gogrid) = 0 Then
DoCmd.SetWarnings False
DoCmd.RunSQL "insert into tbl_tercihler(ogr_id,adsoyad,is_id)values(" & gogrid & ",'" & gadsoyad & "'," & is_id & ")"
DoCmd.SetWarnings True
End If
Next xList
Me.frm_alt_tercih.Requery
10/05/2020, 14:25

userx

Tümünü silmek için de alttaki kodu dener misin?
Private Sub Komut179_Click()
Dim GItem As Variant
Dim gogrid As Integer
Dim gadsoyad As String
gogrid = [frm_alt_tercih].Form![ogr_id]
gadsoyad = [frm_alt_tercih].Form![txtogradsoyad]

If MsgBox("Ekli olan liste silinsin mi?", vbQuestion + vbYesNo) = vbYes Then
DoCmd.RunSQL "delete ogr_id,adsoyad from tbl_tercihler where ((is_id)=" & is_id & ") "
DoCmd.SetWarnings True
End If
Me.listeogrenci.Requery
Forms!frm_tercih_islemleri!.Form.frm_alt_tercih.Requery

End Sub
1 2