Kendi müşterilerimi takip edeceği veritabani olusturmaya calisiyorum. Müşterilerin temel bilgilerini ana form olarak; ürün hareketlerini ise altform olarak düzenledim (bkz ekteki dosya). Müşterilere ürün gönderdiğimde alt forma işleyeceğim fakat müşterilere ürün gönderdiğimde “SıraNo” bölümü ardaşık şekilde artmasını istiyorum “SıraNo” bölümünü “otomatiksayı” yaptığımda sürekli artıyor ben ise her müşterimde artmasını istiyorum. Bu konuda yardımcı olacak varsa şimdiden teşekkür ederim..
Alt Formda Otomatik Sıra numarası verme
Altformda sayıların sıralı olmasını istediğin metin Kutusunun denetim Kaynağına
yaz ve aşağıdaki kodları altforma ekle
Kod:
=RowNum([Form])
Kod:
Public Function RowNum(frm As Form) As Variant
On Error GoTo Err_RowNum
With frm.RecordsetClone
.Bookmark = frm.Bookmark
RowNum = .AbsolutePosition + 1
End With
Exit_RowNum:
Exit Function
Err_RowNum:
If Err.Number <> 3021& Then
Debug.Print "RowNum() error " & Err.Number & " - " & Err.Description
End If
RowNum = Null
Resume Exit_RowNum
End Function
Function GetLineNumberForm(f As Form)
Dim rs As Recordset
Dim frmMain As Form
Dim frmCur As Form
Dim strName As String
Dim IsItSubForm As Boolean
Dim strFName As String
On Error Resume Next
strFName = f.Parent.Name
IsItSubForm = (Err = 0)
On Error GoTo Err_GetLineNumber
If IsItSubForm Then
Set frmMain = f.Parent.Form
strName = f.Name
Set frmCur = frmMain(strName).Form
Set rs = frmCur.RecordsetClone
Else
Set rs = f.RecordsetClone
Set frmCur = f
End If
rs.Bookmark = frmCur.Bookmark
GetLineNumberForm = rs.AbsolutePosition + 1
Bye_GetLineNumber:
Set rs = Nothing
Set frmMain = Nothing
Set frmCur = Nothing
Exit Function
Err_GetLineNumber:
Resume Bye_GetLineNumber
End Function
Function Serialize(qryname As String, keyname As String, keyvalue) As Long
Dim dbs As Database
Dim rs As Recordset
Set dbs = CurrentDb
On Error GoTo Err_Serialize
Set rs = dbs.OpenRecordset(qryname, dbOpenDynaset, dbReadOnly)
On Error GoTo Err_Serialize
Select Case rs.Fields(keyname).Type
Case DB_INTEGER, DB_LONG, DB_CURRENCY, DB_SINGLE, _
DB_DOUBLE, DB_BYTE
rs.FindFirst "[" & keyname & "] = " & keyvalue
Case DB_DATE
rs.FindFirst "[" & keyname & "] = #" & keyvalue & "#"
Case DB_TEXT
rs.FindFirst "[" & keyname & "] = '" & keyvalue & "'"
Case Else
MsgBox "ERROR: Invalid key field data type!"
End Select
Serialize = Nz(rs.AbsolutePosition, 0) + 1
Err_Serialize:
rs.Close
dbs.Close
Set rs = Nothing
Set dbs = Nothing
End Function
sledgeab
uygulamaya formda uyguladım çok zorda olsa başardım Teşekkür ediyorum.. eline sağlık
yalnız tabloya veriler işlenmiyor.. bu sorunu nasıl aşarım.. birde uyulamaya örnek üzerinde yaparsak çok sevinirim..
uygulamaya formda uyguladım çok zorda olsa başardım Teşekkür ediyorum.. eline sağlık
yalnız tabloya veriler işlenmiyor.. bu sorunu nasıl aşarım.. birde uyulamaya örnek üzerinde yaparsak çok sevinirim..
evet bu kodlar çok işime yaradı ama sıra numaraları tablolara işlenmediği için rapor alırken bu sıra numaraları gelmiyor. bu konuda da yardımcı olursnaız sevinirim.
sn afil,
raporda sıra numarasının bulunduğu metin kutusunun denetim kaynağına
Geçerli Toplam'a da
yaz.
raporda sıra numarasının bulunduğu metin kutusunun denetim kaynağına
Kod:
=1
Kod:
Tümü Üzerinde
Konuyu Okuyanlar: 1 Ziyaretçi