Skip to main content

AccessTr.neT


İnsert Sonrası İlgili Kaydın İd Sini Almak

İnsert Sonrası İlgili Kaydın İd Sini Almak

Çözüldü #1
muhtemelen eğer autoincrement bir tablo ise insert ile eklenen kaydın id sini en büyük id sayısını bularak alabiliriz +
bunun haricinde bir yol var mı fonksiyon falan mesela şöyle bir şey var galiba

DAO için
Kod:
RS.Move 0, RS.LastModified
lngID = RS!AutoNumberFieldName

@benbendedeilem
Cevapla
#2
Sub LastModifiedX() 
   
    Dim dbsNorthwind As Database
    Dim rstEmployees As Recordset
    Dim strFirst As String
    Dim strLast As String
   
    Set dbsNorthwind = OpenDatabase("Northwind.mdb")
    Set rstEmployees = _
    dbsNorthwind.OpenRecordset("Employees", _
    dbOpenDynaset)
   
    With rstEmployees
    ' Store current data.
    strFirst = !FirstName
    strLast = !LastName
    ' Change data in current record.
    .Edit
    !FirstName = "Julie"
    !LastName = "Warren"
    .Update
    ' Move current record pointer to the most recently
    ' changed or added record.
    .Bookmark = .LastModified
    Debug.Print _
    "Data in LastModified record after Edit: " & _
    !FirstName & " " & !LastName
   
    ' Restore original data because this is a demonstration.
    .Edit
    !FirstName = strFirst
    !LastName = strLast
    .Update
   
    ' Add new record.
    .AddNew
    !FirstName = "Roger"
    !LastName = "Harui"
    .Update
    ' Move current record pointer to the most recently
    ' changed or added record.
    .Bookmark = .LastModified
    Debug.Print _
    "Data in LastModified record after AddNew: " & _
    !FirstName & " " & !LastName
   
    ' Delete new record because this is a demonstration.
    .Delete
    .Close
    End With
   
    dbsNorthwind.Close
   
    End Sub
Cevapla
#3
Sub AddNewX() 
   
    Dim dbsNorthwind As Database
    Dim rstEmployees As Recordset
    Dim strFirstName As String
    Dim strLastName As String
   
    Set dbsNorthwind = OpenDatabase("Northwind.mdb")
    Set rstEmployees = _
    dbsNorthwind.OpenRecordset("Employees", dbOpenDynaset)
   
    ' Get data from the user.
    strFirstName = Trim(InputBox( _
    "Enter first name:"))
    strLastName = Trim(InputBox( _
    "Enter last name:"))
   
    ' Proceed only if the user actually entered something
    ' for both the first and last names.
    If strFirstName <> "" and strLastName <> "" Then
   
    ' Call the function that adds the record.
    AddName rstEmployees, strFirstName, strLastName
   
    ' Show the newly added data.
    With rstEmployees
    Debug.Print "New record: " & !FirstName & _
    " " & !LastName
    ' Delete new record because this is a demonstration.
    .Delete
    End With
   
    Else
    Debug.Print _
    "You must input a string for first and last name!"
    End If
   
    rstEmployees.Close
    dbsNorthwind.Close
   
    End Sub
   
    Function AddName(rstTemp As Recordset, _
    strFirst As String, strLast As String)
   
    ' Adds a new record to a Recordset using the data passed
    ' by the calling procedure. The new record is then made
    ' the current record.
    With rstTemp
    .AddNew
    !FirstName = strFirst
    !LastName = strLast
    .Update
    .Bookmark = .LastModified
    End With
   
    End Function
@benbendedeilem
Cevapla
#4
DLast() fonksiyonu olabilir
Cevapla
#5
Evet ama iki kişi bağlı tabloya veri girse last ile benden sonra girenin kaydını bana getirir yani saniye farkıyla diğer kullanıcının kaydını son olarak görür
Cevapla
#6
RS.LastModified nedir
Max veya Last olmadan o anda işlem yaptığımız kaydın id sini mi getirir
birinci mesajda son eklenen vb kod içerisinde geçen
rs.Bookmark = rs.LastModified
bu cümle ne işe yarıyor
Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da