Formdaki metin kutularını tablodaki belirlediğim alana tek seferde girme işlemini halletmiştim. Şimdiki sorunum 2 farklı metin kutusundaki bilgilerin aynı satıra denk gelecek şekilde alt alta girilebilmesi ile ilgili. Kaç tane metin kutusuna veri girdiysem, tabloya aktarırken o kadar çoğaltarak kayıt yapıyor.
Metin kutularını grupladım. Sol taraftaki "No" olanların tümünün "Im" değeri "2" sağdakilerin de "3"
Formdan bu şekilde verileri girip kaydet dediğimde tabloya aynı satırda olacak şekilde alt alta kaydetmesini istiyorum.
Ama mesajın başında da belirttiğim gibi, tabloya ekleme işlemini aşağı resimdeki gibi yapıyor.
Kullandığım kodlar şu şekilde;
Kod:
If IsNull(klasor_no) Or Me.klasor_no = "" Then
MsgBox ("Lütfen ilk satıra klasör numarası yazınız."), vbCritical, "Kaydetme Hatası"
Me.klasor_no.SetFocus
Else
If IsNull(std_klasoru) Or Me.std_klasoru = "" Then
MsgBox ("Lütfen ilk satıra klasör adını yazınız."), vbCritical, "Kaydetme Hatası"
Me.std_klasoru.SetFocus
Else
varmi = DCount("[klasor_no]", "std_klasoru_tablosu", "[klasor_no]= '" & Me.klasor_no & "'")
If varmi > 0 Then
MsgBox "Bu klasör numarası daha önce girilmiş" & vbCr & "Lütfen farklı bir kasör numarası yazın.", vbCritical, "Kaydetme Başarısız"
Else
DoCmd.RunCommand acCmdSaveRecord
DoCmd.SetWarnings False
For Each ctl In Me.Controls
For Each ctl2 In Me.Controls
If ctl.ControlType = acTextBox Then
If Not (IsNull(ctl.Value) Or ctl.Value = "") Then
If ctl2.ControlType = acTextBox Then
If Not (IsNull(ctl2.Value) Or ctl2.Value = "") Then
If ctl.Tag = "2" And ctl2.Tag = "3" Then
booFilledBox = True
DoCmd.RunSQL "INSERT INTO std_klasoru_tablosu ([klasor_no],[std_klasoru]) VALUES ('" & ctl.Value & "','" & ctl2.Value & "')"
End If
End If
End If
End If
End If
Next ctl2
Next ctl
DoCmd.SetWarnings True
sil2
End If
End If
End If