-Ïîèñê ïî äíåâíèêó

Ïîèñê ñîîáùåíèé â rss_sql_ru_access_programming

 -Ïîäïèñêà ïî e-mail

 

 -Ïîñòîÿííûå ÷èòàòåëè

 -Ñòàòèñòèêà

Ñòàòèñòèêà LiveInternet.ru: ïîêàçàíî êîëè÷åñòâî õèòîâ è ïîñåòèòåëåé
Ñîçäàí: 16.03.2006
Çàïèñåé:
Êîììåíòàðèåâ:
Íàïèñàíî: 4


UPDATE òàáëèöû ñ ñîõðàíåíèåì ïåðâè÷íîãî êëþ÷à

Ïîíåäåëüíèê, 20 Îêòÿáðÿ 2014 ã. 12:12 + â öèòàòíèê
Çäðàâñòâóéòå ôîðóì÷àíå!
Âîïðîñ. Èìååòñÿ ôîðìà, â êîòîðîé ñîäåðæàòñÿ äàííûå êëèåíòàõ, äàòå äîáàâëåíèÿ, ñóììå ïîêóïêå, è ò.ä. è ò.ï.
íèêàê íå ìîãó ðàçîáðàòüñÿ êàê ðåäàêòèðîâàòü çàïèñè. Ò.å íàæèìàþ êíîïêó ðåäàêòèðîâàòü, îòêðûâàåòñÿ ôîðìà, ãäå àâòîìàòè÷åñêè çàïîëíÿþòñÿ ïîëÿ, èìÿ êëèåíòà, äàòà, âèä ïðèõîäà è ò.ä. âñå ýòî ìîæíî ðåäàêòèðîâàòü. Íî êîãäà èçìåíÿþ äàííûå è ñîõðàíÿþ èõ, òî ñòàðûå äàííûå íå èçìåíÿþòñÿ, à ïðîñòî äîáàâëÿåòñÿ íîâàÿ ñòðîêà ñ íîâîé èíôîðìàöèåé. ÿ íå îïûòåí åùå. çíàþ, ÷òî êàê òî íàäî ïî êîëäîâàòü ñ ïåðâè÷íûì êëþ÷îì, íî êàê?
Âîò êîä äâóõ ïðîöåäóð îäíà íà äîáàâëåíèå íîâîé çàïèñè à äðóãàÿ ïî èäåè íà ðåäàêòèðîâàíèå. ôîðìà äëÿ äîáàâëåíèÿ è ðåäàêòèðîâàíèÿ îäíà, ïðîñòî çàïóñêàåòñÿ â äâóõ ðàçíûõ ðåæèìàõ.
äîáàâëåíèå íîâîé çàïèñè (òóò âñå ðàáîòàåò)

Private Sub Ñîõðàíèòü1_Click()
 
On Error GoTo Err_ñîõðàíèòü1_Click
MsgBox "Íîâûå äàííûå óñïåøíî áûëè äîáàâëåíû", vbOKOnly
 
 
'-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\
'-\-\-\-\-\ÄÎÁÀÂËÅÍÈÅ ÈÍÔÎÐÌÀÖÈÈ Â ÒÀÁËÈÖÓ \-\-\-\-\-\-\-
'-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-
 
    Dim cmd As ADODB.Command
    Dim prm As ADODB.Parameter
    
    Set cmd = New ADODB.Command
    Set cmd.ActiveConnection = CurrentProject.Connection
 
    cmd.CommandText = "spPrih_tAdd"
    cmd.CommandType = adCmdStoredProc
    cmd.CommandTimeout = 250
''
    Set prm = cmd.CreateParameter("DAT_R", adDate, adParamInput, , Me.DAT_P)
        cmd.Parameters.Append prm
    Set prm = cmd.CreateParameter("COD_KLI", adInteger, adParamInput, , Me.edtClientId)
        cmd.Parameters.Append prm
    Set prm = cmd.CreateParameter("SUM_PR", adInteger, adParamInput, , Me.SUM_V)
        cmd.Parameters.Append prm
    Set prm = cmd.CreateParameter("NDSPR", adInteger, adParamInput, , SUM_V)
        cmd.Parameters.Append prm
    Set prm = cmd.CreateParameter("VID", adInteger, adParamInput, , Me.VID)
        cmd.Parameters.Append prm
    Set prm = cmd.CreateParameter("NDS", adInteger, adParamInput, , Me.NDS)
        cmd.Parameters.Append prm
    Set prm = cmd.CreateParameter("CustN", adInteger, adParamInput, , CInt(Me.CUST_N))
        cmd.Parameters.Append prm
    Set prm = cmd.CreateParameter("OTSR", adInteger, adParamInput, , Me.OTSR)
        cmd.Parameters.Append prm
    Set prm = cmd.CreateParameter("RASH_NTTN", adInteger, adParamInput, , Me.R_NTTN)
       cmd.Parameters.Append prm
    Set prm = cmd.CreateParameter("CAN_OPT", adInteger, adParamInput, , Me.FlagCanOpt)
        cmd.Parameters.Append prm
    Set prm = cmd.CreateParameter("Nsek", adInteger, adParamInput, , Me.R_NSEK)
        cmd.Parameters.Append prm
    
 
    cmd.Execute
 
    Set cmd = Nothing
    Set prm = Nothing
 
Exit_ñîõðàíèòü1_Click:
    Exit Sub
 
Err_ñîõðàíèòü1_Click:
    MsgBox Err.Description
    Resume Exit_ñîõðàíèòü1_Click
 
 
End Sub





à âîò òà êîòîðàÿ äîëæíà ðåäàêòèðîâàòü

Public Function Save() As Boolean
Dim StrSql As String
Dim ExSql As New ADODB.Recordset
Dim col As Integer
Dim rst As ADODB.Recordset
Dim StrLog1 As String
Dim StrLog2 As String
On Error GoTo HandleErrors
 
Set rst = New ADODB.Recordset
Set rst.ActiveConnection = CurrentProject.Connection
rst.CursorType = adOpenKeyset
rst.LockType = adLockOptimistic
rst.Source = "PRIH_t"
rst.Open Options:=adCmdTable
With rst
     
    If EditMode Then
        .Find "NTTN=" + CStr(Me.edtNTTN)
        StrLog1 = " Ïîñëå ðåäàêòèðîâàíèÿ äîê-òà "
        StrLog2 = " Äî ðåäàêòèðîâàíèÿ äîê-òà "
    End If
    
    If RTrim(MyCStr(!COD_KLI)) <> MyCStr(Me.edtClientId) Then
        StrLog1 = StrLog1 + " COD_KLI:" + MyCStr(Me.dtClientId)
        StrLog2 = StrLog2 + " COD_KLI:" + RTrim(MyCStr(!COD_KLI))
    End If
       !COD_KLI = Me.edtClientId
    
    If RTrim(MyCStr(!SUM_PR)) <> MyCStr(Me.SUM_V) Then
        StrLog1 = StrLog1 + " SUM_PR:" + MyCStr(Me.SUM_V)
        StrLog2 = StrLog2 + " SUM_PR:" + RTrim(MyCStr(!SUM_PR))
    End If
       !SUM_PR = Me.SUM_V
    
    If RTrim(MyCStr(!NDSPR)) <> MyCStr(Me.SUM_V) Then
        StrLog1 = StrLog1 + " SUM_PR:" + MyCStr(Me.SUM_V)
        StrLog2 = StrLog2 + " SUM_PR:" + RTrim(MyCStr(!NDSPR))
    End If
       !NDSPR = Me.SUM_V
    
    If RTrim(MyCStr(!VID)) <> MyCStr(Me.VID) Then
        StrLog1 = StrLog1 + " VID:" + MyCStr(Me.VID)
        StrLog2 = StrLog2 + " VID:" + RTrim(MyCStr(!VID))
    End If
       !VID = Me.VID
    
    
    If RTrim(MyCStr(!NDS)) <> MyCStr(Me.NDS) Then
        StrLog1 = StrLog1 + " NDS:" + MyCStr(Me.NDS)
        StrLog2 = StrLog2 + " NDS:" + RTrim(MyCStr(!NDS))
    End If
       !NDS = Me.NDS
 
    If RTrim(MyCStr(!OTSR)) <> MyCStr(Me.OTSR) Then
        StrLog1 = StrLog1 + " OTSR:" + MyCStr(Me.OTSR)
        StrLog2 = StrLog2 + " OTSR:" + RTrim(MyCStr(!OTSR))
    End If
       !OTSR = Me.OTSR
       
    If RTrim(MyCStr(!RASH_NTTN)) <> MyCStr(Me.R_NTTN) Then
        StrLog1 = StrLog1 + " RASH_NTTN:" + MyCStr(Me.R_NTTN)
        StrLog2 = StrLog2 + " RASH_NTTN:" + RTrim(MyCStr(!RASH_NTTN))
    End If
       !RASH_NTTN = Me.R_NTTN
        
    If RTrim(MyCStr(!CAN_OPT)) <> MyCStr(Me.FlagCanOpt) Then
        StrLog1 = StrLog1 + " CAN_OPT:" + MyCStr(Me.FlagCanOpt)
        StrLog2 = StrLog2 + " CAN_OPT:" + RTrim(MyCStr(!CAN_OPT))
    End If
       !CAN_OPT = Me.FlagCanOpt
     
    
    If RTrim(MyCStr(!NSek)) <> MyCStr(Me.R_NSEK) Then
        StrLog1 = StrLog1 + " NSek:" + MyCStr(Me.R_NSEK)
        StrLog2 = StrLog2 + " NSek:" + RTrim(MyCStr(!NSek))
    End If
       !NSek = Me.R_NSEK
    
    .update
 
    Me.edtNTTN = !NTTN
    If EditMode Then StrLog2 = "ID: " + CStr(Me.recID) + StrLog2
    StrLog1 = "ID: " + CStr(Me.recID) + StrLog1
End With
 
If EditMode Then SaveToLog StrLog2, 80
SaveToLog StrLog1, 80
 
 
HandleExit:
    Exit Function
HandleErrors:
    Save = False
    MsgBox Err.Description, vbCritical, ""
End Function




Ýòî ñêîðåå íàáðîñîê, ÿ ïðîñòî ïðèìåðíî òàê äóìàþ ÷òî íàäî ñäåëàòü, íî ýòî ñêîðåå âñåãî íå ïðàâèëüíî
Ïðîñòî ïðè ðåäàêòèðîâàíèè êàêîé òî çàïèñè, íóæíî ÷òî áû ïåðâè÷íûé êëþ÷ îñòàâàëñÿ ïðåæíèì, à èíôîðìàöèÿ â ñòîëáöàõ òàáëèöû, êîòîðûå ïðèâÿçàíû ê íåìó, îáíîâëÿëèñü.

áóäó ðàä ëþáîé ïîìîùè

http://www.sql.ru/forum/1121902/update-tablicy-s-sohraneniem-pervichnogo-klucha


 

Äîáàâèòü êîììåíòàðèé:
Òåêñò êîììåíòàðèÿ: ñìàéëèêè

Ïðîâåðêà îðôîãðàôèè: (íàéòè îøèáêè)

Ïðèêðåïèòü êàðòèíêó:

 Ïåðåâîäèòü URL â ññûëêó
 Ïîäïèñàòüñÿ íà êîììåíòàðèè
 Ïîäïèñàòü êàðòèíêó