รบกวนช่วยดูให้ทีครับ
Option Explicit Dim Conn As New ADODB.Connection Dim rsBookType As New ADODB.Recordset Dim pathName As String Dim tmpBookName As String Private Sub Form_Load() Dim sqlBookType As String Dim i As Integer frmBook.WindowState = 2
With cboSearch .AddItem \"ISBN\" .AddItem \"ª×èÍ˹ѧÊ×Í\" .ListIndex = 0 End With
txtBook(0).MaxLength = 254 txtBook(1).MaxLength = 254
For i = 2 To txtBook.Count - 1 txtBook(i).MaxLength = 4 Next txtBook(3).MaxLength = 2
With Conn If .State = addStateOpen Then .Close .ConnectionString = strConn & \";Data Source=E:\\Project_\\book Type.mdb\" .ConnectionTimeout = 90 .Open End With
sqlBookType = \"SELECT * FROM BookType ORDER BY BookTypeCode\" With rsBookType If .State = adStateOpen Then .Close .ActiveConnection = Conn .CursorType = adOpenForwardOnly .CursorLocation = adUseClient .Open sqlBookType End With
Set dcbBookType.RowSource = rsBookType dcbBookType.ListField = \"BookTypeGroup\" dcbBookType.BoundColumn = \"BookTypeCode\"
AdoBook.Refresh
Call LockCtrl End Sub Private Sub AdoBook_MoveComplete(ByVal adReason As ADODB.EventReasonEnum, ByVal pError As ADODB.Error, adStatus As ADODB.EventStatusEnum, ByVal pRecordset As ADODB.Recordset) On Error GoTo PictureNotFound With AdoBook.Recordset
If (.BOF) Or (.EOF) Then Exit Sub If .Fields(\"IsNormalRent\").Value = \"0\" Then optNormal.Value = True ElseIf .Fields(\"IsNormalRent\").Value = \"1\" Then optMember.Value = True ElseIf .Fields(\"IsNormalRent\").Value = \"2\" Then optVIP.Value = True End If End With
PictureNotFound: If (Err.Number = 76) Or (Err.Number = 53) Then pathName = \" \" imgBook.Picture = LoadPicture(pathName) Else With AdoBook.Recordset If (.Fields(\"PictureFileName\").Value = \" \") Or (IsNull(.Fields(\"PictureFilName\").Value)) Then pathName = \" \" End If If .Fields(\"PictureFileName\").Value <> \" \" Then pathName = .Fields(\"PictureFileName\").Value imgBook.Picture = LoadPicture(pathName) Else imgBookPicture = LoadPicture(\"\") End If End With End If
With AdoBook .Caption = \"¨Ó¹Ç¹Ë¹Ñ§Ê×Í\" & .Recordset.AbsolutePosition & \" / \" & .Recordset.RecordCount End With End Sub Private Sub cmdAdd_Click() Call UnLockCtrl fraSearch.Enabled = False AdoBook.Enabled = False cmdAdd.Enabled = False cmdCancel.Visible = False cmdOK.Visible = True cmdCancel.Visible = True AdoBook.Recordset.AddNew mskISBN.SetFocus mskISBN.Text = \"___-___-___-_\" chkBookStatus.Value = Unchecked End Sub Private Sub cmdBrowse_Click() With cdlBrowse .DialogTitle = \"àÅ×Í¡ÃÙ»ÀÒ¾\" .CancelError = False .Action = 1 pathName = .FileName End With If pathName <> \"\" Then imgBook.Picture = LoadPicture(pathName) End If End Sub Private Sub cmdCancel_Click() With AdoBook .Recordset.CancelUpdate .Refresh End With
cmdAdd.Enabled = True cmdEdit.Enabled = True cmdOK.Visible = False cmdCancel.Visible = False fraSearch.Enabled = True Call LockCtrl AdoBook.Enabled = True End Sub Private Sub cmdEdit_Click() Call UnLockCtrl cmdAdd.Enabled = False cmdEdit.Enabled = False cmdOK.Visible = True cmdCancel.Visible = True End Sub Private Sub cmdOK_Click() On Error GoTo ISBNuplicate Dim i As Integer If (mskISBN.Text = \"___-___-___-_\") Then MsgBox \"¡ÃسÒãÊèÃËÑÊ˹ѧÊ×Í´éÇÂ\", vbOKOnly + vbCritical, \"¢éͼԴ¾ÅÒ´\" mskISBN.SetFocus mskISBN.SelStart = 0 mskISBN.SelLength = Len(mskISBN.Text) cmdAdd.Enabled = False cmdEdit.Enabled = False Exit Sub End If If txtBook(0).Text = \" \" Then MsgBox \"¡ÃسÒãÊèª×èÍ˹ѧÊ×Í´éÇÂ\", vbOKOnly + vbCritical, \"¢éͼԴ¾ÅÒ´\" txtBook(0).SetFocus Exit Sub End If Next
With AdoBook.Recordset If optMember.Value = True Then .Fields(\"IsNormalRent\").Value = \"0\" ElseIf optMember.Value = True Then .Fields(\"IsNormalRent\").Value = \"1\" ElseIf optVIP.Value = True Then .Fields(\"IsNormalRent\").Value = \"2\" End If If txtBook(0).Text <> \"\" Then If chkBookStatus.Value = checker Then .Fields(\"BookStatus\").Value = \"0\" tmpBookName = RTrim(.Fields(\"BookTitle\").Value) If Right$(tmpBookName, 15) <> \"(¡àÅÔ¡ãËéàªèÒ)\" Then .Fields(\"BookTitle\").Value = tmpBookName & \" (¡àÅÔ¡ãËéàªèÒ) \" End If ElseIf chkBookStatus.Value = Unchecked Then tmpBookName = RTrim(tmpBookName) tmpBookName = Replace(tmpBookName, \"(¡àÅÔ¡ãËéàªèÒ)\", \"\") .Fields(\"BookTitle\").Value = RTrim(tmpBookName) .Fields(\"BookStatus\").Value = \"1\" End If End If If Val(Len(pathName)) > 254 Then MsgBox \"ÃÙ»ÀÒ¾·Õè¤Ø³àÅ×Í¡ à¡çºÍÂÙèã¹¾Ò¸·ÕèÂÒÇà¡Ô¹ä»\", vbOKOnly + vbExclamation, \"¢éͼԴ¾ÅÒ´\" Exit Sub End If If pathName <> \"\" Then .Fields(\"PixtureFileName\").Value = pathName End If .Update End With Call LockCtrl cmdAdd.Enabled = True cmdEdit.Enabled = True frmSearch.Enabled = True AdoBook.Enabled = True cmdOK.Visible = False cmdCancel.Visible = False ISBNDuplicate: Select Case Err.Number Case -21474672559# MsgBox \"¤Ø³ãÊèÃËÑÊ˹ѧÊ×Í ISBN «éÓ !\", vbOKOnly + vbCritical, \"¢éͼԴ¾ÅÒ´\" mskISBN.SetFocus mskISBN.SelStart = 0 mskISBN.SelLength = Len(mskISBN.Text) Exit Sub End Select End Sub Private Sub dcbBookType_KeyDown(KeyCode As Integer, Shift As Integer) KeyCode = 0 End Sub Private Sub dcbBookType_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then SendKeys \"{Tab}\" KeyAscii = 0 End If KeyAscii = 0 End Sub Private Sub mskISBN_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then SendKeys \"{Tab}\" KeyAscii = 0 End If End Sub Private Sub txtBook_KeyPress(Index As Integer, KeyAscii As Integer) Dim Character As String Select Case Index Case 2, 3, 4, 5 Character = \"0123456789\" KeyAscii = Asc(Chr(KeyAscii)) If KeyAscii > 26 Then If InStr(Character, Chr(KeyAscii)) = 0 Then KeyAscii = 0 End If End If End Select If KeyAscii = 13 Then SendKeys \"{Tab}\" KeyAscii = 0 End If End Sub Private Sub LockCtrl() Dim i As Integer For i = 0 To txtBook.Count - 1 txtBook(i).Locked = True txtBook(i).BackColor = &H8000000F Next mskISBN.Enabled = False dcbBookType.Locked = True dcbBookType.BackColor = &H8000000F fraRentType.Enabled = False cmdBrowse.Enabled = False chkBookStatus.Enabled = False End Sub Private Sub UnLockCtrl() Dim i As Integer For i = 0 To txtBook.Count - 1 txtBook(i).Locked = False txtBook(i).BackColor = &H80000009 Next mskISBN.Enabled = True dcbBookType.Locked = False dcbBookType.BackColor = &H80000009 fraRentType.Enabled = True chkBookStatus.Enables = True cmdBrowse.Enabled = True End Sub Private Sub txtSearch_KeyPress(KeyAscii As Integer) Dim sqlSearch As String sqlSearch = \"SELECT*FROM BookMaster\" If KeyAscii = 13 Then Select Case cboSearch.ListIndex Case 0 sqlSearch = sqlSearch & \"WHERE ISBN= \" & txtSearch.Text & \"\" Case 1 sqlSearch = sqlSearch & \"WHERE BookTitle LIKE \'%\" & txtSearch.Text & \"%\" End Select sqlSearch = sqlSearch & \"ORDER BY ISBN\" With AdoBook .RecordSource = sqlSearch .Refresh If .Recordset.RecordCount = 0 Then MsgBox cboSearch.Text & \" \" & Trim(txtSearch.Text) & \" ·Õè¤Ø³µéͧ¡ÒÃäÁèÁÕ \", vbOKOnly + vbInformation, \"¼Å¡Òäé¹ËÒ\" txtSearch.SetFocus txtSearch.SelStart = 0 .RecordSource = \"SELECT * FROM BookMaster ORDER BY ISBN\" .Refresh End If End With End If End Sub Private Sub cboSearch_KeyDown(KeyCode As Integer, Shift As Integer) KeyCode = 0 End Sub Private Sub cboSearch_KeyPress(KeyAscii As Integer) KeyAscii = 0 End Sub
|