"Mich" <reinhold@tiscali.dk> skrev i en meddelelse news:...
> Jeg er ved at lave en database der ligger på en SQL server og det går fint
> nok, men jeg har et problem med poster som er blevet ændret og jeg så vil
> fortryde ændringerne.
>
> Jeg bruger et ADO recordset og har prøvet at bruge
RecSet_WillChangeRecord
> eventen også cancel, hvis adReason = adRsnUpdate, men jeg kan ikke få det
> vil at virke.
>
> Kan nogen hjælpe mig??
>
> Her er min kode.
>
> På forhånd tak
>
> Option Explicit
> Public WithEvents RecSet As ADODB.Recordset
>
> Private Sub MDIForm_Load()
>
> Dim dbConn As Connection
> Dim strConn As String
>
> ' Her skal først læses i en .ini for at finde server og databasenavn
> hvis
> ' ikke .ini filen findes, skal ODBC LogOn vinduet åbnes, så de kan
> ' indtastes
>
> Set dbConn = New ADODB.Connection
> dbConn.CursorLocation = adUseServer
> strConn = "Provider=MSDASQL.1;Persist Security Info=False;" & _
> "Data Source=RepBaseSQL;Initial Catalog=RepBaseSQL"
> dbConn.Open strConn
> Set RecSet = New Recordset
> RecSet.Open "SELECT * FROM vueKunde ORDER BY Navn", dbConn,
> adOpenDynamic, _
> adLockOptimistic
> frmRepBase.Show ' vis reparationssiden
>
> End Sub
>
> Private Sub mnuAfslut_Click()
> ' Afslut programmet
>
> Unload Me
> End Sub
>
> Private Sub RecSet_WillChangeRecord(ByVal adReason As
ADODB.EventReasonEnum,
> _
> ByVal cRecords As Long, adStatus As ADODB.EventStatusEnum, _
> ByVal pRecordset As ADODB.Recordset)
> On Error Resume Next
>
> Dim blnCancel As Boolean
>
> Select Case adReason
> Case adRsnAddNew
> ' Vil du gemme "DEN NYE" ??
>
> Case adRsnClose
> Case adRsnDelete ' data skal ikke kunne slettes
> Case adRsnFirstChange
> Case adRsnMove
> Case adRsnMoveFirst
> Case adRsnMoveLast
> Case adRsnMoveNext
> Case adRsnMovePrevious
> Case adRsnRequery
> Case adRsnResynch
> Case adRsnUndoAddNew
> Case adRsnUndoDelete
> Case adRsnUndoUpdate
> Case adRsnUpdate
> If MsgBox("Vil du gemme ændringerne?", vbYesNo + vbQuestion, _
> "Data er blevet ændret") = vbNo Then
> blnCancel = True
> RecSet.CancelUpdate
> Else
> RecSet.Update
> End If
> If blnCancel Then adStatus = adStatusCancel
> End Select
> End Sub
>
>
>
|