登录窗体代码
- 格式:pdf
- 大小:230.12 KB
- 文档页数:51
登录窗体代码:Option ExplicitPrivate Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" (ByVal lpbuffer As String, nSize As Long) As LongPublic OK As BooleanDim micount As IntegerPrivate Sub Form_Load()Dim sBuffer As StringDim lSize As LongsBuffer = Space$(255)lSize = Len(sBuffer)Call GetUserName(sBuffer, lSize)If lSize > 0 Thentxtusername.Text = Left$(sBuffer, lSize)Elsetxtusername.Text = vbNullStringEnd IfOK = Falsemicount = 0End SubPrivate Sub Cmdcancel_Click()OK = FalseMe.HideEnd SubPrivate Sub cmdOK_Click()Dim txtSQL As StringDim mrc As ADODB.RecordsetDim MsgText As String'ToDo: create test for correct password'check for correct passwordusername = ""If Trim(txtusername.Text = "") ThenMsgBox "没有这个用户,请重新输入用户名!", vbOKOnly + vbExclamation, "警告"txtusername.SetFocusElsetxtSQL = "select * from user_Info where user_ID = '" & txtusername.Text & "'"Set mrc = ExecuteSQL(txtSQL, MsgText)If mrc.EOF = True ThenMsgBox "没有这个用户,请重新输入用户名!", vbOKOnly + vbExclamation, "警告"txtusername.SetFocusElseIf Trim(mrc.Fields(1)) = Trim(txtPassword.Text) Thenright = Trim(mrc.Fields(2))OK = Truemrc.CloseMe.Hideusername = Trim(txtusername.Text)ElseMsgBox "输入密码不正确,请重新输入!", vbOKOnly + vbExclamation, "警告"txtPassword.SetFocustxtPassword.Text = ""End IfEnd IfEnd Ifmicount = micount + 1If micount = 3 ThenMe.HideEnd IfExit SubEnd SubPrivate Sub option1_click()right = 1End SubPrivate Sub option2_click()right = 0End Sub添加用户代码:Private Sub cmdOK_Click()Dim txtSQL As StringDim mrc As ADODB.RecordsetDim MsgText As StringIf Trim(Text1(0).Text) = "" ThenMsgBox "请输入用户名称!", vbOKOnly + vbExclamation, "警告"Exit SubText1(0).SetFocusElsetxtSQL = "select * from user_Info "Set mrc = ExecuteSQL(txtSQL, MsgText)While (mrc.EOF = False)If Trim(mrc.Fields(0)) = Trim(Text1(0)) ThenMsgBox "用户已经存在,请重新输入用户名!", vbOKOnly + vbExclamation, "警告"Text1(0).SetFocusText1(0).Text = ""Text1(1).Text = ""Text1(2).Text = ""Exit SubElsemrc.MoveNextEnd IfWendEnd IfIf ((Not Option1.Value) And (Not Option2.Value)) ThenMsgBox "请选择用户类型!", vbOKOnly + vbExclamation, "警告"Option1.SetFocusElseIf Option1.Value Then right = 1 Else right = 0If Trim(Text1(1).Text) <> Trim(Text1(2).Text) ThenMsgBox "两次输入密码不一样,请确认!", vbOKOnly + vbExclamation, "警告"Text1(1).SetFocusText1(1).Text = ""Text1(2).Text = ""Exit SubElseIf Text1(2).Text = "" ThenMsgBox "密码不能为空!", vbOKOnly + vbExclamation, "警告"Text1(0).SetFocusText1(1).Text = ""Text1(2).Text = ""mrc.AddNewmrc.Fields(0) = Trim(Text1(0).Text)mrc.Fields(1) = Trim(Text1(1).Text)mrc.Fields(2) = rightmrc.Updatemrc.CloseMe.HideMsgBox "添加用户成功!", vbOKOnly + vbExclamation, "添加用户"End IfEnd IfEnd IfEnd SubPrivate Sub Cmdcancel_Click()Unload MeEnd Sub修改密码代码:Option ExplicitPrivate Sub cmdOK_Click()Dim txtSQL As StringDim mrc As ADODB.RecordsetDim MsgText As Stringusername = ""If Trim(txtusername.Text) = "" ThenMsgBox "用户名不能为空!", vbOKOnly + vbExclamation, "警告"txtusername.SetFocusElsetxtSQL = "select * from user_Info where user_ID = '" & txtusername.Text & "'"Set mrc = ExecuteSQL(txtSQL, MsgText)If mrc.EOF = True ThenMsgBox "没有这个用户,请重新输入用户名!", vbOKOnly + vbExclamation, "警告"txtusername.SetFocusExit SubElseIf Trim(mrc.Fields(1)) = Trim(txtPassword.Text) Thenright = Trim(mrc.Fields(2))mrc.CloseMe.Hideusername = Trim(txtusername.Text)ElseMsgBox "输入密码不正确,请重新输入!", vbOKOnly + vbExclamation, "警告"txtPassword.SetFocustxtPassword.Text = ""Exit SubEnd IfEnd IfIf Trim(Text1.Text) <> Trim(Text2.Text) ThenMsgBox "输入的新密码不一致!", vbOKOnly + vbExclamation, "警告"Text1.SetFocusText1.Text = ""ElsetxtSQL = "select * from user_Info where user_ID = '" & username & "'"Set mrc = ExecuteSQL(txtSQL, MsgText)mrc.Fields(1) = Text1.Textmrc.Updatemrc.CloseMsgBox "密码修改成功!", vbOKOnly + vbExclamation, "修改密码"Me.HideEnd IfEnd IfEnd SubPrivate Sub Cmdcancel_Click()Unload MeEnd SubPrivate Sub xtPassword_Change()End Sub主菜单代码:Private Sub MDIForm_Load()If right = "0" ThenmenuAdduser.Visible = FalsemenuModifypwd.Visible = FalsemenuModifymaterial.Visible = FalsemenuDeletematerial.Visible = FalseEnd IfMe.Left = GetSetting(App.Title, "Settings", "MainLeft", 1000)Me.Top = GetSetting(App.Title, "Settings", "MainTop", 1000) Me.Width = GetSetting(App.Title, "Settings", "MainWidth", 6500) Me.Height = GetSetting(App.Title, "Settings", "MainHeight", 6500)End SubPrivate Sub MDIForm_Unload(Cancel As Integer)If Me.WindowState <> vbMinimized ThenSaveSetting App.Title, "Settings", "MainLeft", Me.LeftSaveSetting App.Title, "Settings", "MainTop", Me.TopSaveSetting App.Title, "Settings", "MainWidth", Me.WidthSaveSetting App.Title, "Settings", "MainHeight", Me.Height End IfUnload MeEnd SubPrivate Sub menuAbout_Click()frmAbout.ShowEnd SubPrivate Sub menuAdduser_Click()frmLogin1.ShowEnd SubPrivate Sub menuExit_Click()EndEnd SubPrivate Sub menuModifypwd_Click()frmLogin2.ShowEnd SubPrivate Sub menuAddmaterial_Click()gintMmode = 1frmMater1.ShowfrmMater1.ZOrder 0End SubgintImode = 1frmMaterIn1.ShowfrmMaterIn1.ZOrder 0End SubPrivate Sub menuAddmaterialout_Click()gintOmode = 1frmMaterOut1.ShowfrmMaterOut1.ZOrder 0End SubPrivate Sub menuAddsurplus_Click()gintLmode = 1frmMaterList1.ShowfrmMaterList1.ZOrder 0End SubPrivate Sub menuDeletematerial_Click()Dim txtSQL As StringDim intCount As IntegerDim mrc As ADODB.RecordsetDim MsgText As StringIf flagMedit ThenIf frmMater.msgList.Rows > 1 ThenIf MsgBox("真的要删除这条文件记录么?", vbOKCancel + vbExclamation, "警告") = vbOK ThenintCount = frmMater.msgList.RowtxtSQL = "delete from material where wzid='" & Trim(frmMater.msgList.TextMatrix(intCount, 1)) & "'"Set mrc = ExecuteSQL(txtSQL, MsgText)Unload frmMaterfrmMater.txtSQL = "select * from material"frmMater.ShowEnd IfEnd IfEnd IfEnd SubDim txtSQL As StringDim intCount As IntegerDim mrc As ADODB.RecordsetDim MsgText As StringIf flagIedit ThenIf frmMaterIn.msgList.Rows > 1 ThenIf MsgBox("真的要删除这条文件记录么?", vbOKCancel + vbExclamation, "警告") = vbOK ThenintCount = frmMaterIn.msgList.RowtxtSQL = "update msurplus set yeaccount=yeaccount-" & Trim(frmMaterIn.msgList.TextMatrix(intCount, 7)) & ",yevalue=yevalue-" & Trim(frmMaterIn.msgList.TextMatrix(intCount, 9)) & " where yeid='" & Trim(frmMaterIn.msgList.TextMatrix(intCount, 2)) & "'"Set mrc = ExecuteSQL(txtSQL, MsgText)txtSQL = "delete from msave where rkno='" & Trim(frmMaterIn.msgList.TextMatrix(intCount, 1)) & "'"Set mrc = ExecuteSQL(txtSQL, MsgText)Unload frmMaterInfrmMaterIn.txtSQL = "select * from msave"frmMaterIn.ShowEnd IfEnd IfEnd IfEnd SubPrivate Sub menuDeletematerialout_Click()Dim txtSQL As StringDim intCount As IntegerDim mrc As ADODB.RecordsetDim MsgText As StringIf flagOedit ThenIf frmMaterOut.msgList.Rows > 1 ThenIf MsgBox("真的要删除这条文件记录么?", vbOKCancel + vbExclamation, "警告") = vbOK ThenintCount = frmMaterOut.msgList.RowtxtSQL = "update msurplus set yeaccount=yeaccount+" &Trim(frmMaterOut.msgList.TextMatrix(intCount, 7)) & ",yevalue=yevalue+" & Trim(frmMaterOut.msgList.TextMatrix(intCount, 9)) & " where yeid='" & Trim(frmMaterOut.msgList.TextMatrix(intCount, 2)) & "'"Set mrc = ExecuteSQL(txtSQL, MsgText)txtSQL = "delete from muse where lyno='" & Trim(frmMaterOut.msgList.TextMatrix(intCount, 1)) & "'"Set mrc = ExecuteSQL(txtSQL, MsgText)Unload frmMaterOutfrmMaterOut.txtSQL = "select * from muse"frmMaterOut.ShowEnd IfEnd IfEnd IfEnd SubPrivate Sub menuInquirematerialin_Click()frmMaterIn2.ShowEnd SubPrivate Sub menuInquirematerialout_Click()frmMaterOut2.ShowEnd SubPrivate Sub menuInquiresurplus_Click()If flagLedit ThenfrmMaterList2.ShowElsefrmMaterList.txtSQL = "select * from msurplus"frmMaterList.ShowEnd IfEnd SubPrivate Sub menuInqurematerial_Click()frmMater2.ShowEnd SubPrivate Sub menuModifymaterial_Click()Dim intCount As IntegerIf flagMedit ThenIf frmMater.msgList.Rows > 1 ThengintMmode = 2intCount = frmMater.msgList.RowfrmMater1.txtSQL = "select * from material where wzid='" & Trim(frmMater.msgList.TextMatrix(intCount, 1)) & "'"frmMater1.ShowElseCall menuAddmaterial_ClickEnd IfElsefrmMater.txtSQL = "select * from material"frmMater.ShowEnd IfEnd SubPrivate Sub menuModifymaterialin_Click()Dim intCount As IntegerIf flagIedit ThenIf frmMaterIn.msgList.Rows > 1 ThengintImode = 2intCount = frmMaterIn.msgList.RowfrmMaterIn1.txtSQL = "select * from msave where rkno='" & Trim(frmMaterIn.msgList.TextMatrix(intCount, 1)) & "'"frmMaterIn1.ShowElseCall menuAddmaterialin_ClickEnd IfElsefrmMaterIn.txtSQL = "select * from msave"frmMaterIn.ShowEnd IfEnd SubPrivate Sub menuModifymaterialout_Click()Dim intCount As IntegerIf flagOedit ThenIf frmMaterOut.msgList.Rows > 1 ThengintOmode = 2intCount = frmMaterOut.msgList.RowfrmMaterOut1.txtSQL = "select * from muse where lyno='" &Trim(frmMaterOut.msgList.TextMatrix(intCount, 1)) & "'"frmMaterOut1.ShowElseCall menuAddmaterialout_ClickEnd IfElsefrmMaterOut.txtSQL = "select * from muse"frmMaterOut.ShowEnd IfEnd Sub物资列表代码:Option ExplicitDim mrc As ADODB.RecordsetDim MsgText As StringPublic txtSQL As StringPrivate Sub Form_Load()ShowTitleShowDataflagMedit = TrueEnd SubPrivate Sub Form_Resize()If Me.WindowState <> vbMinimized And fMainForm.WindowState <> vbMinimized Then '边界处理If Me.ScaleHeight < 10 * lblTitle.Height ThenExit SubEnd IfIf Me.ScaleWidth < lblTitle.Width + lblTitle.Width / 2 ThenExit SubEnd If'控制控件的位置lblTitle.Top = lblTitle.HeightlblTitle.Left = (Me.Width - lblTitle.Width) / 2msgList.Top = lblTitle.Top + lblTitle.Height + lblTitle.Height / 2msgList.Width = Me.ScaleWidth - 200msgList.Left = Me.ScaleLeft + 100msgList.Height = Me.ScaleHeight - msgList.Top - 200End IfEnd SubPublic Sub FormClose()Unload MeEnd Sub'删除记录Private Sub Form_Unload(Cancel As Integer)flagMedit = FalsegintMmode = 0End Sub'显示Grid的内容Private Sub ShowData()Dim i As IntegerSet mrc = ExecuteSQL(txtSQL, MsgText)With msgList.Rows = 1Do While Not mrc.EOF.Rows = .Rows + 1For i = 1 To mrc.Fields.CountSelect Case mrc.Fields(i - 1).TypeCase adDBDate.TextMatrix(.Rows - 1, i) = Format(mrc.Fields(i - 1) & "","yyyy-mm-dd")Case Else.TextMatrix(.Rows - 1, i) = mrc.Fields(i - 1) & ""End SelectNext imrc.MoveNextLoopEnd Withmrc.CloseEnd Sub'显示Grid表头Private Sub ShowTitle()Dim i As IntegerWith msgList.Cols = 6.TextMatrix(0, 1) = "物资编号".TextMatrix(0, 2) = "物资名称".TextMatrix(0, 3) = "规格型号".TextMatrix(0, 4) = "类别".TextMatrix(0, 5) = "计量单位"'固定表头.FixedRows = 1'设置各列的对齐方式For i = 0 To 5.ColAlignment(i) = 0Next i'表头项居中.FillStyle = flexFillRepeat.Col = 0.Row = 0.RowSel = 1.ColSel = .Cols - 1.CellAlignment = 4'设置单元大小.ColWidth(0) = 300.ColWidth(1) = 1000.ColWidth(2) = 2000.ColWidth(3) = 2000.ColWidth(4) = 1000.ColWidth(5) = 1000.Row = 1End WithEnd SubPrivate Sub msgList_MouseUp(Button As Integer, Shift As Integer, x As Single, y As Single) '右键弹出If Button = 2 And Shift = 0 ThenPopupMenu fMainForm.menuMaterialEnd IfEnd Sub物资信息代码:Option Explicit'是否改动过记录,ture为改过Dim mblChange As BooleanDim mrc As ADODB.RecordsetPublic txtSQL As StringPrivate Sub cmdExit_Click()If mblChange And cmdSave.Enabled ThenIf MsgBox("保存当前记录的变化吗?", vbOKCancel + vbExclamation, "警告") = vbOK Then'保存Call cmdSave_ClickEnd IfEnd IfUnload MeEnd SubPrivate Sub cmdSave_Click()Dim intCount As IntegerDim sMeg As StringDim MsgText As StringFor intCount = 0 To 4If Trim(txtItem(intCount) & " ") = "" ThenSelect Case intCountCase 0sMeg = "物资编号"Case 1sMeg = "物资名称"Case 2sMeg = "规格型号"Case 3sMeg = "计量单位"Case 4sMeg = "类别"End SelectsMeg = sMeg & "不能为空!"MsgBox sMeg, vbOKOnly + vbExclamation, "警告"txtItem(intCount).SetFocusExit SubEnd IfNext intCount'添加判断是否有相同的ID记录If gintMmode = 1 ThentxtSQL = "select * from material where wzid='" & Trim(txtItem(0)) & "'"Set mrc = ExecuteSQL(txtSQL, MsgText)If mrc.EOF = False ThenMsgBox "已经存在此物资编号的记录!", vbOKOnly + vbExclamation, "警告"txtItem(0).SetFocusExit SubEnd Ifmrc.CloseEnd If'判断是否有相同内容的记录txtSQL = "select * from material where wzid<>'" & Trim(txtItem(0)) & "' and wzname='" & Trim(txtItem(1)) & "' and wzspec='" & Trim(txtItem(2)) & "'"Set mrc = ExecuteSQL(txtSQL, MsgText)If mrc.EOF = False ThenMsgBox "已经存在相同物资内容的记录!", vbOKOnly + vbExclamation, "警告"txtItem(1).SetFocusExit SubEnd If'先删除已有记录txtSQL = "delete from material where wzid='" & Trim(txtItem(0)) & "'"Set mrc = ExecuteSQL(txtSQL, MsgText)'再加入新记录txtSQL = "select * from material"Set mrc = ExecuteSQL(txtSQL, MsgText)mrc.AddNewmrc.Fields(0) = Trim(txtItem(0))For intCount = 1 To 4mrc.Fields(intCount) = Trim(txtItem(intCount))Next intCountmrc.Updatemrc.CloseIf gintMmode = 1 ThenMsgBox "添加记录成功!", vbOKOnly + vbExclamation, "添加记录" For intCount = 0 To 4txtItem(intCount) = ""Next intCountmblChange = FalseIf flagMedit ThenUnload frmMaterfrmMater.txtSQL = "select * from material"frmMater.ShowEnd IfElseIf gintMmode = 2 ThenUnload MeIf flagMedit ThenUnload frmMaterEnd IffrmMater.txtSQL = "select * from material"frmMater.ShowEnd IfEnd SubPrivate Sub Form_Load()Dim intCount As IntegerDim MsgText As StringIf gintMmode = 1 ThenMe.Caption = Me.Caption & "添加"ElseIf gintMmode = 2 ThenSet mrc = ExecuteSQL(txtSQL, MsgText)If mrc.EOF = False ThenWith mrcFor intCount = 0 To 4txtItem(intCount) = .Fields(intCount)Next intCountEnd WithtxtItem(0).Enabled = FalseEnd IfMe.Caption = Me.Caption & "修改"End IfmblChange = FalseEnd SubPrivate Sub Form_Unload(Cancel As Integer)gintMmode = 0End SubPrivate Sub txtItem_Change(Index As Integer)'有变化设置gblchangemblChange = TrueEnd SubPrivate Sub txtItem_GotFocus(Index As Integer)txtItem(Index).SelStart = 0txtItem(Index).SelLength = Len(txtItem(Index))End SubPrivate Sub txtItem_KeyDown(Index As Integer, KeyCode As Integer, Shift As Integer) EnterToTab KeyCodeEnd Sub物资查询代码:Option ExplicitPrivate Sub cmdExit_Click()Me.HideEnd SubPrivate Sub cmdOK_Click()Dim txtSQL As StringDim sQSql As StringIf chkItem(0).Value = vbChecked ThensQSql = " wzname ='" & Trim(txtItem(0) & " ") & "'"End IfIf chkItem(1).Value = vbChecked ThenIf Trim(sQSql & " ") = "" ThensQSql = " wzspec ='" & Trim(txtItem(1) & " ") & "' "ElsesQSql = sQSql & " and wzspec = '" & Trim(txtItem(1) & " ") & "'"End IfEnd IfIf Trim(sQSql) = "" ThenMsgBox "请设置查询方式!", vbOKOnly + vbExclamation, "警告"Exit SubElseIf flagMedit ThenUnload frmMaterEnd IffrmMater.txtSQL = "select * from material where" & sQSqlfrmMater.ShowEnd IfEnd SubPrivate Sub lblitem_Click(Index As Integer)chkItem(Index).Value = vbCheckedtxtItem(Index).SetFocusEnd SubPrivate Sub chkItem_Click(Index As Integer)txtItem(Index).SetFocusEnd SubPrivate Sub txtItem_GotFocus(Index As Integer)txtItem(Index).SelStart = 0txtItem(Index).SelLength = Len(txtItem(Index))End Sub入库物资信息代码:Option ExplicitPublic txtSQL As StringDim mrc As ADODB.RecordsetDim MsgText As StringPrivate Sub Form_Load()ShowTitleShowDataflagIedit = TrueEnd SubPrivate Sub Form_Resize()If Me.WindowState <> vbMinimized And fMainForm.WindowState <> vbMinimized Then '边界处理If Me.ScaleHeight < 10 * lblTitle.Height ThenExit SubEnd IfIf Me.ScaleWidth < lblTitle.Width + lblTitle.Width / 2 ThenExit SubEnd If'控制控件的位置lblTitle.Top = lblTitle.HeightlblTitle.Left = (Me.Width - lblTitle.Width) / 2msgList.Top = lblTitle.Top + lblTitle.Height + lblTitle.Height / 2msgList.Width = Me.ScaleWidth - 200msgList.Left = Me.ScaleLeft + 100msgList.Height = Me.ScaleHeight - msgList.Top - 200End IfEnd SubPublic Sub RecordEdit()Dim intCount As IntegerIf msgList.Rows > 1 ThengintMode = EDITintCount = msgList.RowgsSql = " where rkno='" & Trim(msgList.TextMatrix(msgList.Row, 1)) & "'"frmMaterIn1.Show 1ShowDataCall MovCursor(intCount, msgList)ElseCall RecordAddEnd IfEnd SubPublic Sub FormClose()Unload MeEnd Sub'删除记录Public Sub RecordDelete()Dim sSql As StringDim intCount As IntegerOn Error GoTo myErrIf msgList.Rows > 1 ThenIf MsgBox("真的要删除这条文件记录么?", vbOKCancel + vbExclamation, "警告") = vbOK ThenintCount = msgList.RowwksHuaxia.BeginTranssSql = "update amsurplus set yeaccount=yeaccount-" & Trim(msgList.TextMatrix(msgList.Row, 7)) & ",yevalue=yevalue-" & Trim(msgList.TextMatrix(msgList.Row, 9)) & " where yeid='" & Trim(msgList.TextMatrix(msgList.Row, 2)) & "'"dbHuaxia.Execute sSql, dbSQLPassThroughsSql = "delete from " & msTableName & " where rkno='" & Trim(msgList.TextMatrix(msgList.Row, 1)) & "'"dbHuaxia.Execute sSql, dbSQLPassThroughmitTransShowDataIf msgList.Rows > 1 ThenIf intCount = msgList.Rows ThenMovCursor msgList.Rows - 1, msgListElseMovCursor intCount, msgListEnd IfEnd IfEnd IfEnd IfExit SubmyErr:wksHuaxia.RollbackShowErrorEnd SubPublic Sub RecordRefresh()'设置msSqlmsSql = msSelect & msTableName & " where rkdate>='" & Format(DateAdd("m", -1, Now), "yyyy-mm-dd") & "' and rkdate<='" & Format(Now, "yyyy-mm-dd") & "'" & msOrderBy'显示数据msBarText = "当前数据时间范围:" & Format(DateAdd("m", -1, Now), "yyyy-mm-dd") & "至" & Format(Now, "yyyy-mm-dd")sOrder0 = "+ {rkdate}"sOrder1 = ""ShowDataEnd SubPublic Sub RecordAdd()gintMode = AddfrmMaterIn1.Show 1ShowDataEnd SubPublic Sub RecordFind()frmMaterIn2.Show 1If Trim(frmMaterIn2.sQSql & " ") <> "" ThenmsSql = msSelect & msTableName & " where" & frmMaterIn2.sQSql & msOrderByShowDataEnd IfUnload frmMaterIn2End SubPrivate Sub Form_Unload(Cancel As Integer)flagIedit = FalsegintImode = 0End Sub'显示Grid的内容Private Sub ShowData()Dim j As IntegerDim i As IntegerSet mrc = ExecuteSQL(txtSQL, MsgText)With msgList.Rows = 1Do While Not mrc.EOF.Rows = .Rows + 1For i = 1 To mrc.Fields.CountSelect Case mrc.Fields(i - 1).TypeCase adDBDate.TextMatrix(.Rows - 1, i) = Format(mrc.Fields(i - 1) & "", "yyyy-mm-dd")Case Else.TextMatrix(.Rows - 1, i) = mrc.Fields(i - 1) & ""End SelectNext imrc.MoveNextLoopEnd Withmrc.CloseEnd Sub'显示Grid表头Private Sub ShowTitle()Dim i As IntegerWith msgList.Cols = 15.TextMatrix(0, 1) = "".TextMatrix(0, 2) = "物资编号".TextMatrix(0, 3) = "物资名称".TextMatrix(0, 4) = "规格型号".TextMatrix(0, 5) = "类别".TextMatrix(0, 6) = "计量单位".TextMatrix(0, 7) = "数量".TextMatrix(0, 8) = "单价".TextMatrix(0, 9) = "金额".TextMatrix(0, 10) = "时间".TextMatrix(0, 11) = "经办人".TextMatrix(0, 12) = "保管人".TextMatrix(0, 13) = "仓库".TextMatrix(0, 14) = "备注"'固定表头.FixedRows = 1'设置各列的对齐方式For i = 0 To 6.ColAlignment(i) = 0Next iFor i = 7 To 9.ColAlignment(i) = 7Next iFor i = 10 To 14.ColAlignment(i) = 0Next i'表头项居中.FillStyle = flexFillRepeat.Col = 0.Row = 0.RowSel = 1.ColSel = .Cols - 1.CellAlignment = 4'设置单元大小.ColWidth(0) = 300.ColWidth(1) = 0.ColWidth(2) = 1000.ColWidth(3) = 2000.ColWidth(4) = 2000.ColWidth(5) = 600.ColWidth(6) = 1000.ColWidth(7) = 600.ColWidth(8) = 800.ColWidth(9) = 1000.ColWidth(10) = 1000For i = 11 To 14.ColWidth(i) = 1000Next i.Row = 1End WithEnd SubPrivate Sub msgList_MouseUp(Button As Integer, Shift As Integer, x As Single, y As Single) '右键弹出If Button = 2 And Shift = 0 ThenPopupMenu fMainForm.menuMaterialinEnd IfEnd Sub出库物资信息代码:Option Explicit'是否改动过记录,ture为改过Dim mblChange As BooleanDim mrc As ADODB.RecordsetPublic txtSQL As StringPrivate Sub cboItem_Change(Index As Integer)'有变化设置gblchangemblChange = TrueEnd SubPrivate Sub cboItem_Click(Index As Integer)Dim sSql As StringDim MsgText As StringDim mrcc As ADODB.RecordsetIf gintImode = 1 Then'初始化员工名称和IDIf Index = 1 ThencboItem(0).Enabled = TruecboItem(3).Enabled = TruecboItem(4).Enabled = TruecboItem(2).ClearcboItem(0).ClearcboItem(3).ClearcboItem(4).CleartxtSQL = "select wzid,wzspec,wzkind,wzunit from material where wzname='" & Trim(cboItem(1)) & "'"Set mrcc = ExecuteSQL(txtSQL, MsgText)If Not mrcc.EOF ThenDo While Not mrcc.EOFcboItem(0).AddItem mrcc!wzidcboItem(2).AddItem mrcc!wzspeccboItem(3).AddItem mrcc!wzkindcboItem(4).AddItem mrcc!wzunitmrcc.MoveNextLoopcboItem(0).Enabled = FalsecboItem(3).Enabled = FalsecboItem(4).Enabled = FalsecboItem(2).ListIndex = 0cmdSave.Enabled = TrueElseMsgBox "请先建立物资档案!", vbOKOnly + vbExclamation, "警告"cmdSave.Enabled = FalseExit SubEnd Ifmrcc.CloseElseIf Index = 2 ThencboItem(0).Enabled = TruecboItem(3).Enabled = TruecboItem(4).Enabled = TrueWith cboItem(2)cboItem(0).ListIndex = .ListIndexcboItem(3).ListIndex = .ListIndexcboItem(4).ListIndex = .ListIndexEnd WithcboItem(0).Enabled = FalsecboItem(3).Enabled = FalsecboItem(4).Enabled = FalseEnd IfEnd IfExit SubEnd SubPrivate Sub cboItem_KeyDown(Index As Integer, KeyCode As Integer, Shift As Integer)EnterToTab KeyCodeEnd SubPrivate Sub cmdExit_Click()If mblChange And cmdSave.Enabled ThenIf MsgBox("保存当前记录的变化吗?", vbOKCancel + vbExclamation, "警告") = vbOK Then'保存Call cmdSave_ClickEnd IfEnd IfUnload MeEnd SubPrivate Sub cmdSave_Click()Dim intCount As IntegerDim sMeg As StringDim mrcc As ADODB.RecordsetDim MsgText As StringFor intCount = 0 To 5If Trim(txtItem(intCount) & " ") = "" ThenSelect Case intCountCase 0sMeg = "数量"Case 1sMeg = "单价"Case 2sMeg = "金额"Case 3sMeg = "入库时间"Case 4sMeg = "经办人"Case 5sMeg = "保管人"End SelectsMeg = sMeg & "不能为空!"MsgBox sMeg, vbOKOnly + vbExclamation, "警告"txtItem(intCount).SetFocusExit SubEnd IfNext intCountIf IsDate(txtItem(3)) ThentxtItem(3) = Format(txtItem(3), "yyyy-mm-dd")ElseMsgBox "入库时间应输入日期(yyyy-mm-dd)!", vbOKOnly + vbExclamation, "警告"txtItem(3).SetFocusExit SubEnd If'判断余额库中是否有rkid的记录txtSQL = "select * from msurplus where yeid='" & Trim(cboItem(0)) & "' and yebase='" & Trim(txtItem(6) & " ") & "'"Set mrc = ExecuteSQL(txtSQL, MsgText)If mrc.EOF = True Then '为空'向余额库加入新记录mrc.ClosetxtSQL = "select * from msurplus"Set mrcc = ExecuteSQL(txtSQL, MsgText)mrcc.AddNewmrcc.Fields(0) = Trim(cboItem(0))For intCount = 1 To 4If Trim(cboItem(intCount) & " ") = "" Thenmrcc.Fields(intCount) = NullElseOn Error Resume Nextmrcc.Fields(intCount) = Trim(cboItem(intCount))End IfNext intCountmrcc.Fields(5) = 0mrcc.Fields(6) = 0mrcc.Fields(7) = Trim(txtItem(6) & " ")mrcc.Fields(8) = Nullmrcc.Updatemrcc.CloseElsemrc.CloseEnd IfIf gintImode = 2 Then'先删除已有记录txtSQL = "delete from msave where rkno='" & Trim(txtNo) & "'"Set mrc = ExecuteSQL(txtSQL, MsgText)txtSQL = "update msurplus set yeaccount=yeaccount-" & Trim(txtAccount) & ",yevalue=yevalue-" & Trim(txtValue) & " where yeid='" & Trim(cboItem(0)) & "' and yebase='" & Trim(txtBase) & "'"Set mrc = ExecuteSQL(txtSQL, MsgText)End If。