AccessTr.neT
formlar arası veri taşıma - Baskı Önizleme

+- AccessTr.neT (https://accesstr.net)
+-- Forum: Microsoft Access (https://accesstr.net/forum-microsoft-access.html)
+--- Forum: Access Cevaplanmış Soruları (https://accesstr.net/forum-access-cevaplanmis-sorulari.html)
+--- Konu Başlığı: formlar arası veri taşıma (/konu-formlar-arasi-veri-tasima.html)

Sayfalar: 1 2


formlar arası veri taşıma - numanbayulken - 13/04/2010

Merhaba arkadaşlar ,

3 form arasında ileri geri yapmak istiyorum .

frmGİRİŞ ile TCKİMLİK giriyorum düğmeye basınca
frmGENEL ile ad soyad giriyorum düğmeye basınca
frmÖZEL işe yaş ve cinsiyet giriyorum .

frmÖZEL de bir hata farkedersem GENEL düğmesi ile frmGENEL formuna dönmesini istiyorum .

Ekteki dosya evet dönüyor ama ilk kayda dönüyor. Ben o an üzerinde çalıştığım tckimlik numaralı kayda dönmesini istiyorum ?

docmd.GoToRecord oması lazım sanırım ama yapamdım . YArdım ederseniz sevinirim .


2003 te olması gerekliliğinde dolayı üzerinde çalıştığım veritabanı harici bir örnek hazırlayım ekledim .


Cvp: formlar arası veri taşıma - C*e*l*o*y*c*e - 13/04/2010

Ne yapmak istediğini tam bilmiyorum ama sanırım aşağıdaki kodlar işini görecektir bu kodları temel bilgiler isimli butona ekle
bukodlar ile tc noya göre genel forma döner ,kodları istedğin yerde kullanabilirsin,kolay gelsin

Dim rs As Object
DoCmd.OpenForm "frmGENEL"
Set rs = Forms!frmGENEL.recordset.Clone
rs.FindFirst "[TC_KİMLİK ]=" & Me![TC_KİMLİK ]
If Not rs.EOF Then Forms!frmGENEL.Bookmark = rs.Bookmark
DoCmd.Close acForm, Me.Name


Cvp: formlar arası veri taşıma - numanbayulken - 14/04/2010

Sn CELOYCE teşekkür ederim .

istediğim son 1 olgu dışında çalışıyor kodlarınız .
Eğer bulamaz ise yeni kayıt açmasını nasıl yazabiliriz ?


Cvp: formlar arası veri taşıma - C*e*l*o*y*c*e - 14/04/2010

Yine söylüyorum ne yapmak istedğinizi tam analmadım,böyle ayrı ayrı tablolar yaparak neden birbiri üstene kayıt yaparak gidiyorsunuz burayı açıklayın özel bir nedeni yoksa belki daha kısa ve güzel bir yol ile yapılabilir açıklayın isterseniz,birde aşağdaki kodu hata iletisi bölümüne ekleyerek sanırım açmasını sağlarsınız,ama bence eklemeden önce bir açıklama yapın acces derslerini okuyun ,sonrasında örneğinizi tekrar gözden geçirin derim .birde aşağıdaki kodları diğeri ile bir değiştirip deneyin..kolay gelsin
On Error GoTo Err_Command12_Click
Dim rs As Object
DoCmd.OpenForm "frmGENEL"
Set rs = Forms!frmGENEL.recordset.Clone
rs.FindFirst "[TC_KİMLİK ]=" & Me![TC_KİMLİK ]
If Not rs.EOF Then Forms!frmGENEL.Bookmark = rs.Bookmark
DoCmd.Close acForm, Me.Name
Exit_Command12_Click:
Exit Sub
Err_Command12_Click:
DoCmd.OpenForm "frmGENEL", acNewRec
Resume Exit_Command12_Click


Cvp: formlar arası veri taşıma - numanbayulken - 14/04/2010

istediğim kısaca şudur ;

formlar arası geçiş yaparken eğer açılacak formda o KİMLİK NUMARASI mevcut ise o değere gitsin. mevcut değil ise yeni kayıt açsın .

tek istediğim bu cümlenin kod hali Img-grin


Cvp: formlar arası veri taşıma - numanbayulken - 14/04/2010

bir örnekte biri şu mantığu kullanmış

Kod:
If DCount("[Event ID]", "tables![Confirmation]", "='Me![EventID]'") = 0 Then
DoCmd.OpenForm "Multi-Confirmation", acNormal, , , acFormAdd
Forms![Multi-Confirmation]![Event ID] = Me![EventID]
Else
Dim stDocName As String
Dim stLinkCriteria As String
stDocName = "Multi-Confirmation"

stLinkCriteria = "[Event ID]=" & Me![EventID]
DoCmd.OpenForm stDocName, , , stLinkCriteria

End If
End Sub

saydırıyor ve eğer 0 ise kayıt açıyor
ELSE durumunda kayıda gidiyor .
Ama tam yapamamış uğraşan kişide o yüzden örnek alamadım .

dcount üzerine araştırıyoum çözümü bulursam yazarım