Option ExplicitPublic ActType As String ' ÷åáò àú ñåâ äôòåìä ùéù ìòùåú
Public ActNum As Integer
Public Enum CdType ' ñåâ äàìáåí
CD
LP
EP
DVD
End Enum
Public TypeOk As Boolean ' îùúðä ä÷åáò àí ñåâ äàìáåí ú÷éï
' ôåð÷öéä äáåã÷ú äàí ÷åã äàìáåí ú÷éï
Function checkcode()
Dim preok As Boolean ' îùúðéí äîöééðéí ú÷éðåú ëì çì÷ îä÷åã
Dim numok As Boolean
Dim lenok As Boolean
If Len(txtAlbumCode.Text) = 7 Then ' áãé÷ä äàí ÷åã áàåøê ðëåï
lenok = True
Else
lenok = False
MsgBox ("àåøê ä÷åã çééá ìäéåú 7 úååéí!")
GoTo Check
End If
If Left(txtAlbumCode.Text, 2) = "SJ" Then ' áåã÷ ùúé àåúéåú øàùåðåú SJ ðëåðåú
preok = True ' ú÷éï
Else
preok = False ' ìà ú÷éï
MsgBox ("äôúéç ì÷åã àéðå ú÷éï!")
GoTo Check ' îãìâ òì ùàø äáãé÷åú
End If
If Not TypeOk Then
MsgBox ("ñåâ äàìáåí àéðå ÷ééí!")
GoTo Check ' îãìâ òì ùàø äáãé÷åú
End If
If (Right(txtAlbumCode.Text, 3) > 0) And (Right(txtAlbumCode.Text, 3) < 999) Then ' áåã÷ çå÷éåú äîñôø
AlbumRs.MoveFirst ' îçæéø ñîï ìúçéìú äèáìä
AlbumRs.Find ("album_code= '" & txtAlbumCode.Text & "'") ' îçôù ÷åã áèáìä
If AlbumRs.EOF Then ' àí ä÷åã ìà ðîöà
numok = True
Else ' àí ä÷åã ðîöà
numok = False
MsgBox ("àìáåí òí ÷åã æää ëáø ÷ééí!")
GoTo Check ' îãìâ òì ùàø äáãé÷åú
End If
Else ' àí ä÷åã àéðå îñôø áòì ùìåù ñôøåú
numok = False
MsgBox ("÷åã çééá ìäéåú îñôø!")
GoTo Check
End If
Check:
If preok And TypeOk And numok And lenok Then ' áãé÷ú ä÷øéèøéåðéí ì÷åã ú÷éï
checkcode = True
Else
checkcode = False
End If
Exit Function
End Function
' äåñôú àìáåí çãù
Private Sub cmdAddNewAlbum_Click()
cmdCancel_Click ' îð÷ä àú äèåôñ åàú äòøëéí
txtAlbumCode.Visible = True ' äöâ àú äàåáéé÷èéí äãøåùéí
txtAlbumName.Visible = True
txtActCode.Visible = True
txtAlbumType.Visible = True
cmdDo.Visible = True
cmdCancel.Visible = True
lblAlbumCode.Visible = True
lblAlbumName.Visible = True
lblActCode.Visible = True
lblAlbumType.Visible = True
ActType = "Add" ' ñåâ äôòåìä äåà 1, æàú àåîøú äåñôú àìáåí
End Sub
Private Sub cmdCancel_Click()
txtAlbumCode.Text = "" ' îç÷ àú äùãåú
txtAlbumName.Text = ""
txtAlbumCode.Visible = False ' äñúø àú äàåáéé÷èéí äãøåùéí
txtAlbumName.Visible = False
txtActCode.Visible = False
txtAlbumType.Visible = False
cmdDo.Visible = False
cmdCancel.Visible = False
lblAlbumCode.Visible = False
lblAlbumName.Visible = False
lblActCode.Visible = False
lblAlbumType.Visible = False
ActType = "" ' ñåâ äôòåìä äåà øé÷
End Sub
' îçé÷ú àìáåí
Private Sub cmdDelAlbum_Click()
cmdCancel_Click ' îð÷ä àú äèåôñ åàú äòøëéí
txtAlbumCode.Visible = True ' äöâ àú äàåáéé÷èéí äãøåùéí
cmdDo.Visible = True
cmdCancel.Visible = True
lblAlbumCode.Visible = True
ActType = "Del" ' ñåâ äôòåìä äåà 1, æàú àåîøú äåñôú àìáåí
End Sub
' áöò àú äôòåìä ìôé ñåâ ôòåìä
Private Sub cmdDo_Click()
Select Case ActType
Case "Add"
If Not checkcode() Then ' áãé÷ú ä÷åã
GoTo DoWrong
End If
If Len(txtAlbumName.Text) = 0 Then ' áãé÷ú ùí äàìáåí
MsgBox ("ùí äàìáåí àéðå éëåì ìäéåú øé÷!")
GoTo DoWrong
End If
If Len(txtAlbumType.Text) = 0 Then ' áãé÷ú ñåâ äàìáåí (àí ÷ééí 
MsgBox ("çééá ìäéåú ñåâ àìáåí!")
GoTo DoWrong
End If
With AlbumRs
.AddNew ' äåñôú øùåîä çãùä
!album_code = txtAlbumCode.Text
!album_name = txtAlbumName.Text
!album_type = txtAlbumType.Text
!act_code = ActNum
.Update ' òãëåï äòøëéí ùì äøùåîä
End With
With StockRs
.AddNew
!album_code = txtAlbumCode.Text
!stock = 0
.Update
End With
End Select
Exit Sub
DoWrong: ' éöéàä îäùâøä áîéãä åäéå ùâéàåú
MsgBox ("äàìáåí äçãù ìà äúååñó!")
End Sub
' éöéàä
Private Sub cmdExit_Click()
Unload Me
frmMain.Visible = True
End Sub
Private Sub Form_Load()
OpenAlbums ' ôúéçú èáìú Albums
Set DataGrid1.DataSource = AlbumRs ' äëðñú ðúåðé äèáìä ìúåê ä DataGrid
DataGrid1.Refresh
Load_Acts ' èòéðú ääøëáéí ìúåê
End Sub
Private Sub Load_Acts()
OpenActs ' ôúéçú èáìú Acts
ActRs.MoveFirst
While Not ActRs.EOF
txtActCode.AddItem (ActRs.Fields("act_name"))
ActRs.MoveNext
Wend
End Sub
Private Sub txtActCode_Click()
ActNum = txtActCode.ListIndex + 1
End Sub
Private Sub txtAlbumCode_LostFocus()
txtAlbumCode.Text = UCase(txtAlbumCode.Text)
Select Case Mid(txtAlbumCode.Text, 3, 2) ' áåã÷ äàí ñåâ äàìáåí ðëåï
Case "CD"
TypeOk = True
CdType = "CD"
Case "EP"
TypeOk = True
CdType = "EP"
Case "LP"
TypeOk = True
CdType = "LP"
Case "DV"
TypeOk = True
CdType = "DVD"
Case Else
TypeOk = False
End Select
If TypeOk Then
txtAlbumType.Text = CdType
End If
End Sub
------------------