MTNQ > 02-04-14, 07:50 PM
 
danhxetnghiem > 03-04-14, 02:13 PM
Xuân Thanh > 03-04-14, 03:37 PM
paulsteigel > 03-04-14, 04:54 PM
danhxetnghiem > 05-04-14, 09:52 PM
(03-04-14, 04:54 PM)paulsteigel Đã viết: Gửi tặng bạn Danhxetnghiem file đính kèm! Bạn hãy thử cố gắng hiểu cách làm xem sao? Nên mày mò một chút nhé!
http://www.sfdp.net/thuthuataccess/thuth...ects=0&d=1
Có gì thì cứ trao đổi tiếp. Vì giờ mình hơi vội nên chỉ có thể bố trí một lúc làm mẫu cho bạn 1 form demo.
Thân
Xuân Thanh > 05-04-14, 10:55 PM
paulsteigel > 06-04-14, 02:06 PM
Trích dẫn:"Sau sự kiện chọn một mục trong Combo Box, trong Sub-Form sẽ hiển thị ra một số nội dung có sẵn cho tiệnTuy nhiên, quay lại ý định thiết kế Form của bạn, có một vấn đề khác:
Private Sub Combo2_AfterUpdate()
    If Nz(Combo2, 0) <> 0 Then
        ' Kiem tra xem da co ket qua kham nay trong CSDL chua?
        Dim currentProfileID As Long
        currentProfileID = GetRecordID("Select a.ID FROM tblDiagnosisRecord AS a WHERE " & _
        "a.PatientID = " & Me.ID & " AND a.DiagnosisID = " & Combo2 & ";")
        If currentProfileID > 0 Then
            ' Co du lieu roi, vi moi khi tao moi deu xoa so lieu cu trong bang details nen khong kiem tra nua
            ' mo form so lieu ngay
            ' Chuyen noi dung subform thanh doi tuong moi
            With frmDiagnosisRecord
                .SourceObject = "tblDiagnosisDetails"
                .LinkChildFields = ""
                .LinkMasterFields = ""
                With .Form
                    .AllowAdditions = False
                    .AllowDeletions = False
                    .Filter = "ID=" & currentProfileID
                    .FilterOn = True
                End With
            End With
        Else
            ' nhap so lieu mau
            With frmDiagnosisRecord
                .SourceObject = "tblDiagnosisProfile"
                .LinkChildFields = ""
                .LinkMasterFields = ""
                With .Form
                    .AllowAdditions = False
                    .AllowDeletions = False
                    .Filter = "JobCategory=" & Combo2
                    .FilterOn = True
                End With
            End With
        End If
    End If
End Sub 
Private Sub cmdCreate_Click()
    If Nz(Combo2, 0) = 0 Then Exit Sub
    Dim SqlStr As String, DiagnosisID As Long
    
    ' Nhap ten benh nhan vao danh sach kham
    'Xoa ket qua kham truoc do co trung loai kham va nghiep vu
    SqlStr = "DELETE * FROM tblDiagnosisRecord AS a WHERE a.PatientID = " & Me.ID & _
    " AND a.DiagnosisID = " & Combo2 & ";"
    CurrentDb.Execute SqlStr
    ' Them ho so kham moi
    SqlStr = "INSERT INTO tblDiagnosisRecord ( PatientID, DiagnosisID )  SELECT " & Me.ID & ", " & _
    Combo2 & ";"
    CurrentDb.Execute SqlStr
    
    ' Lay ID moi vua duoc them
    DiagnosisID = GetRecordID("Select a.ID FROM tblDiagnosisRecord AS a WHERE a.PatientID = " & Me.ID & _
    " AND a.DiagnosisID = " & Combo2 & ";")
    
    ' Dua ho so nay vao tai lieu
    SqlStr = "INSERT INTO tblDiagnosisDetails ( DiagnosisRecordID, DiagnosisProfileID) SELECT " & _
    DiagnosisID & ", a.ID FROM tblDiagnosisProfile AS a WHERE a.JobCategory=" & Combo2 & ";"
    CurrentDb.Execute SqlStr
    
    ' Chuyen noi dung subform thanh doi tuong moi
    With frmDiagnosisRecord
        .SourceObject = "tblDiagnosisDetails"
        .Form.AllowAdditions = False
        .Form.AllowDeletions = False
        .Form.Filter = "ID=" & DiagnosisID
        .Form.FilterOn = True
    End With
End Sub