2014-03-02 2 views
0

도와주세요!기록 변경 저장 - 입양 양식에

나는 마이크로 소프트의 템플릿 중 하나를 기반으로 로깅 서비스 호출에 대한 데이터베이스를 만든 (지금은 매우 느슨하게 기반을!)

나는 경우 목록 분할 양식에서 열릴는 "케이스 세부 사항"양식을 가지고 . 원래 이것은 필터를 사용하여 폼을 여는 것입니다. 실제로는 전체 레코드 세트를로드한다는 의미입니다.

데이터베이스가 커짐에 따라 이것이 비효율적이라고 가정하기 때문에 SQL 문을 사용하여 원하는 레코드 만 선택하여 ADO 레코드 집합을 열어서 양식을 변경하기로 결정했습니다.

이 코드는 다음과 같으며 폼이 올바른 레코드로 열리고 필드를 업데이트 할 수 있습니다.

Private Sub Form_Load() 
On Error GoTo Form_Load_Err 

Dim cn As ADODB.Connection 
Dim rs As ADODB.Recordset 

If (IsNull(TempVars!currentid)) Then 

Me.DataEntry = True 

Else 
     'Use the ADO connection that Access uses 
    Set cn = CurrentProject.Connection 
    'Create an instance of the ADO Recordset class, 
    'and set its properties 
    Set rs = New ADODB.Recordset 
    With rs 
    Set .ActiveConnection = cn 
    .Source = "SELECT * FROM Cases WHERE ID = " & TempVars!currentid & ";" 
    .LockType = adLockOptimistic 
    .CursorLocation = adUseClient 
    .CursorType = adOpenStatic 
    .Open 
    End With 
    'Set the form's Recordset property to the ADO recordset 
    Set Me.Recordset = rs 
    Set rs = Nothing 
    Set cn = Nothing 

End If 

Call IntializeCollections 


Select Case (Me.Status) 
    Case 7, 8 
    Call EnableControls(mcolgrpAllFields, False) 
End Select 


Form_Load_Exit: 
    Exit Sub 

Form_Load_Err: 
    MsgBox Error$ 
    Resume Form_Load_Exit 

End Sub 

그러나 여기에 문제가 있습니다. 변경 사항을 저장하려면 무엇을해야합니까? 나는 약간의 인터넷 검색을했고, MS Access Form Bound to ADO Disconnected Recordset를 보았다. 그러나 나는 아직도 절대적으로 곤란하다.

간단한 "업데이트 저장"명령이 있습니까? 또는 각 필드를 반복하고 변경 사항을 확인한 다음 변경 사항을 저장해야합니까?

누군가 올바른 방향으로 나를 가리킬 수 있습니까? 사전에

감사

+0

을 나는이 너무 간단 있다고 가정하고, 나는 그것을 찾을 수 있어야합니다 편물? 아무도 올바른 방향으로 나를 가리킬 수 있습니까? – MikeH

답변