上传用户:zhpu1995
上传日期:2013-09-06
资源大小:61151k
文件大小:20k
源码类别:

企业管理

开发平台:

Visual Basic

  1. VERSION 5.00
  2. Begin VB.Form Xs_R_SaleAccountQuery 
  3.    BorderStyle     =   3  'Fixed Dialog
  4.    Caption         =   "销售明细帐查询条件"
  5.    ClientHeight    =   3420
  6.    ClientLeft      =   45
  7.    ClientTop       =   330
  8.    ClientWidth     =   4815
  9.    Icon            =   "销售明细帐查询条件.frx":0000
  10.    KeyPreview      =   -1  'True
  11.    LinkTopic       =   "Form1"
  12.    MaxButton       =   0   'False
  13.    MinButton       =   0   'False
  14.    ScaleHeight     =   3420
  15.    ScaleWidth      =   4815
  16.    ShowInTaskbar   =   0   'False
  17.    StartUpPosition =   1  '所有者中心
  18.    Begin VB.CommandButton Cmd_Clear 
  19.       Caption         =   "全清"
  20.       Height          =   300
  21.       Left            =   90
  22.       TabIndex        =   10
  23.       Top             =   3045
  24.       Width           =   1120
  25.    End
  26.    Begin VB.Frame Frame1 
  27.       Height          =   2925
  28.       Left            =   60
  29.       TabIndex        =   12
  30.       Top             =   60
  31.       Width           =   4680
  32.       Begin VB.CommandButton Ydcommand1 
  33.          Height          =   300
  34.          Index           =   5
  35.          Left            =   4230
  36.          Picture         =   "销售明细帐查询条件.frx":1042
  37.          Style           =   1  'Graphical
  38.          TabIndex        =   22
  39.          Top             =   1545
  40.          Visible         =   0   'False
  41.          Width           =   300
  42.       End
  43.       Begin VB.CommandButton Ydcommand1 
  44.          Height          =   300
  45.          Index           =   2
  46.          Left            =   4230
  47.          Picture         =   "销售明细帐查询条件.frx":13CC
  48.          Style           =   1  'Graphical
  49.          TabIndex        =   21
  50.          Top             =   555
  51.          Visible         =   0   'False
  52.          Width           =   300
  53.       End
  54.       Begin VB.TextBox LrText 
  55.          Height          =   300
  56.          Index           =   2
  57.          Left            =   990
  58.          TabIndex        =   20
  59.          Text            =   "2"
  60.          Top             =   555
  61.          Width           =   3255
  62.       End
  63.       Begin VB.CommandButton Ydcommand1 
  64.          Height          =   300
  65.          Index           =   6
  66.          Left            =   4230
  67.          Picture         =   "销售明细帐查询条件.frx":1756
  68.          Style           =   1  'Graphical
  69.          TabIndex        =   19
  70.          Top             =   1875
  71.          Visible         =   0   'False
  72.          Width           =   300
  73.       End
  74.       Begin VB.TextBox LrText 
  75.          Height          =   300
  76.          Index           =   3
  77.          Left            =   990
  78.          TabIndex        =   18
  79.          Text            =   "3"
  80.          Top             =   885
  81.          Width           =   3255
  82.       End
  83.       Begin VB.CommandButton Ydcommand1 
  84.          Height          =   300
  85.          Index           =   4
  86.          Left            =   4230
  87.          Picture         =   "销售明细帐查询条件.frx":1AE0
  88.          Style           =   1  'Graphical
  89.          TabIndex        =   17
  90.          Top             =   1215
  91.          Visible         =   0   'False
  92.          Width           =   300
  93.       End
  94.       Begin VB.CommandButton Ydcommand1 
  95.          Height          =   300
  96.          Index           =   3
  97.          Left            =   4230
  98.          Picture         =   "销售明细帐查询条件.frx":1E6A
  99.          Style           =   1  'Graphical
  100.          TabIndex        =   16
  101.          Top             =   885
  102.          Visible         =   0   'False
  103.          Width           =   300
  104.       End
  105.       Begin VB.TextBox LrText 
  106.          Height          =   300
  107.          Index           =   6
  108.          Left            =   990
  109.          TabIndex        =   4
  110.          Text            =   "6"
  111.          Top             =   1875
  112.          Width           =   3255
  113.       End
  114.       Begin VB.TextBox LrText 
  115.          Height          =   300
  116.          Index           =   5
  117.          Left            =   990
  118.          TabIndex        =   3
  119.          Text            =   "5"
  120.          Top             =   1545
  121.          Width           =   3255
  122.       End
  123.       Begin VB.Frame Frame2 
  124.          Caption         =   "审核状态"
  125.          Height          =   585
  126.          Left            =   150
  127.          TabIndex        =   15
  128.          Top             =   2190
  129.          Width           =   4380
  130.          Begin VB.OptionButton Opt_Check 
  131.             Caption         =   "全部"
  132.             Height          =   195
  133.             Index           =   0
  134.             Left            =   180
  135.             TabIndex        =   5
  136.             Top             =   270
  137.             Value           =   -1  'True
  138.             Width           =   855
  139.          End
  140.          Begin VB.OptionButton Opt_Check 
  141.             Caption         =   "未审核"
  142.             Height          =   195
  143.             Index           =   1
  144.             Left            =   1500
  145.             TabIndex        =   6
  146.             Top             =   270
  147.             Width           =   915
  148.          End
  149.          Begin VB.OptionButton Opt_Check 
  150.             Caption         =   "已审核"
  151.             Height          =   195
  152.             Index           =   2
  153.             Left            =   2880
  154.             TabIndex        =   7
  155.             Top             =   270
  156.             Width           =   1245
  157.          End
  158.       End
  159.       Begin VB.TextBox LrText 
  160.          Height          =   300
  161.          Index           =   1
  162.          Left            =   2865
  163.          TabIndex        =   1
  164.          Text            =   "1"
  165.          Top             =   225
  166.          Width           =   1380
  167.       End
  168.       Begin VB.TextBox LrText 
  169.          Height          =   300
  170.          Index           =   0
  171.          Left            =   990
  172.          TabIndex        =   0
  173.          Text            =   "0"
  174.          Top             =   225
  175.          Width           =   1275
  176.       End
  177.       Begin VB.TextBox LrText 
  178.          Height          =   300
  179.          Index           =   4
  180.          Left            =   990
  181.          TabIndex        =   2
  182.          Text            =   "4"
  183.          Top             =   1215
  184.          Width           =   3255
  185.       End
  186.       Begin VB.CommandButton Ydcommand1 
  187.          Height          =   300
  188.          Index           =   0
  189.          Left            =   2250
  190.          Picture         =   "销售明细帐查询条件.frx":21F4
  191.          Style           =   1  'Graphical
  192.          TabIndex        =   14
  193.          Top             =   225
  194.          Visible         =   0   'False
  195.          Width           =   300
  196.       End
  197.       Begin VB.CommandButton Ydcommand1 
  198.          Height          =   300
  199.          Index           =   1
  200.          Left            =   4230
  201.          Picture         =   "销售明细帐查询条件.frx":257E
  202.          Style           =   1  'Graphical
  203.          TabIndex        =   13
  204.          Top             =   225
  205.          Visible         =   0   'False
  206.          Width           =   300
  207.       End
  208.       Begin VB.Label Label1 
  209.          AutoSize        =   -1  'True
  210.          Caption         =   "部门名称:"
  211.          Height          =   180
  212.          Index           =   0
  213.          Left            =   150
  214.          TabIndex        =   28
  215.          Top             =   615
  216.          Width           =   810
  217.       End
  218.       Begin VB.Label Label1 
  219.          AutoSize        =   -1  'True
  220.          Caption         =   "客户名称:"
  221.          Height          =   180
  222.          Index           =   11
  223.          Left            =   150
  224.          TabIndex        =   27
  225.          Top             =   945
  226.          Width           =   810
  227.       End
  228.       Begin VB.Label Label1 
  229.          Caption         =   "日期:"
  230.          Height          =   255
  231.          Index           =   2
  232.          Left            =   150
  233.          TabIndex        =   26
  234.          Top             =   255
  235.          Width           =   915
  236.       End
  237.       Begin VB.Label Label1 
  238.          AutoSize        =   -1  'True
  239.          Caption         =   "货物编码:"
  240.          Height          =   180
  241.          Index           =   1
  242.          Left            =   150
  243.          TabIndex        =   25
  244.          Top             =   1275
  245.          Width           =   810
  246.       End
  247.       Begin VB.Label Label1 
  248.          AutoSize        =   -1  'True
  249.          Caption         =   "销售员:"
  250.          Height          =   180
  251.          Index           =   3
  252.          Left            =   150
  253.          TabIndex        =   24
  254.          Top             =   1605
  255.          Width           =   630
  256.       End
  257.       Begin VB.Label Label1 
  258.          AutoSize        =   -1  'True
  259.          Caption         =   "销售类型:"
  260.          Height          =   180
  261.          Index           =   4
  262.          Left            =   150
  263.          TabIndex        =   23
  264.          Top             =   1935
  265.          Width           =   810
  266.       End
  267.       Begin VB.Line Line2 
  268.          Index           =   1
  269.          X1              =   2625
  270.          X2              =   2775
  271.          Y1              =   375
  272.          Y2              =   375
  273.       End
  274.    End
  275.    Begin VB.CommandButton QxCommand 
  276.       Caption         =   "取消(&C)"
  277.       Height          =   300
  278.       Left            =   3600
  279.       TabIndex        =   9
  280.       Top             =   3045
  281.       Width           =   1120
  282.    End
  283.    Begin VB.CommandButton QdCommand 
  284.       Caption         =   "确定(&O)"
  285.       Height          =   300
  286.       Left            =   2385
  287.       TabIndex        =   8
  288.       Top             =   3045
  289.       Width           =   1120
  290.    End
  291.    Begin VB.CheckBox UnloadCheck 
  292.       Caption         =   "卸载窗体"
  293.       Height          =   615
  294.       Left            =   6000
  295.       TabIndex        =   11
  296.       Top             =   240
  297.       Width           =   825
  298.    End
  299. End
  300. Attribute VB_Name = "Xs_R_SaleAccountQuery"
  301. Attribute VB_GlobalNameSpace = False
  302. Attribute VB_Creatable = False
  303. Attribute VB_PredeclaredId = True
  304. Attribute VB_Exposed = False
  305. '******************************************************************
  306. '*    模 块 名 称 :销售明细帐查询条件
  307. '*    功 能 描 述 :
  308. '*    程序员姓名  :李建伟
  309. '*    最后修改人  :李建伟
  310. '*    最后修改时间:2001/09/20
  311. '*    备        注:程序中所有依实际情况自定义部分均用[>>  <<]括起
  312. '******************************************************************
  313. Dim Tsxx As String                       '系统信息提示
  314. '以下为固定使用变量(文本框)
  315. Dim Textvar() As Variant                 '存储变体型文本框信息
  316. Dim Textboolean() As Boolean             '存储布尔型文本框信息
  317. Dim Textint() As Integer                 '存储整型文本框信息
  318. Dim Textstr() As String                  '存储字符型文本框信息
  319. Dim Max_Text_Index As Integer            '最大录入文本框索引值
  320. Dim TextGroupCode As String              '文本框录入分组编码
  321. Dim TextValiLock As Boolean              '文本框失去焦点是否进行有效性控制判断
  322. Dim TextValiJudgeLock() As Boolean       '文本框录入有效性判断控制锁
  323. Dim CurTextIndex As Integer              '当前文本框索引值
  324. Dim TextChangeLock As Boolean            '文本框内容变换控制锁
  325. Dim Bln_Cancel As Boolean                '取消按钮信息传递
  326. Private Sub Form_KeyPress(KeyAscii As Integer)   '控 制 焦 点 转 移(Fixed)
  327.     Dim jdzygs As Integer                         '控件焦点转移个数
  328.     jdzygs = 30
  329.     Select Case KeyAscii
  330.         Case vbKeyReturn
  331.             If Kjjdzy(jdzygs) Then
  332.                 KeyAscii = 0
  333.             End If
  334.         Case 39           '屏蔽"'"
  335.             KeyAscii = 0
  336.     End Select
  337. End Sub
  338. Private Sub Form_Load()
  339.    
  340.     '以下为文本框处理程序(Fixed)
  341.     TextGroupCode = "Xs_R_SaleAccount"
  342.     Call Drwbkxx(TextGroupCode, Textvar(), Textboolean(), Textint(), Textstr())  '读入文本框录入信息
  343.     Call Wbkcsh
  344.    
  345.     '[>>初始化查询条件默认值
  346.     LrText(0).Text = Format(Xtrq, "yyyy-mm-dd")
  347.     LrText(1).Text = Format(Xtrq, "yyyy-mm-dd")
  348.     '<<]
  349.    
  350. End Sub
  351. Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)          '查询条件窗体卸载
  352.     '查询条件窗体卸载时判断是否因为结果窗体卸载,如是则卸载,否则隐藏
  353.     If UnloadCheck.Value <> 1 Then
  354.         Cancel = 1
  355.         Me.Hide
  356.     End If
  357.     
  358. End Sub
  359. Private Sub QdCommand_Click()                                   '确 定
  360.     '录入条件有效性判断(Fixed)
  361.     If Not Lrtjyxxpd Then
  362.         Exit Sub
  363.     End If
  364.     Me.Hide
  365.         
  366.     '[>>激活查询过程结果窗体
  367.     
  368.     Xs_R_SaleAccount.Timer1.Enabled = True
  369.     Xs_R_SaleAccount.SetFocus
  370.     
  371.     '<<]
  372. End Sub
  373. Private Sub QxCommand_Click()                                    '取消(Fixed)
  374.     Me.Hide
  375. End Sub
  376. Private Function Lrtjyxxpd() As Boolean                          '用户录入条件有效性判断
  377.     Dim jsqte As Integer
  378.     Lrtjyxxpd = False
  379.  
  380.     '对需要进行事后判断的文本框录入内容进行有效性判断 (Fixed)
  381.     For jsqte = 0 To Max_Text_Index
  382.         If Textint(jsqte, 9) = 0 Or Textint(jsqte, 9) = 2 Then
  383.             If Not TextYxxpd(jsqte) Then
  384.                 Exit Function
  385.             End If
  386.         End If
  387.     Next jsqte
  388.    
  389.     '[>>以下为依据实际情况自定义部分
  390.  
  391.     '查询日期范围应由小到大
  392.     If LrText(0).Text > LrText(1).Text And Trim(LrText(1).Text) <> "" Then
  393.         Tsxx = "查询日期范围应由小到大!"
  394.         Call Xtxxts(Tsxx, 0, 4)
  395.         LrText(0).SetFocus
  396.         Exit Function
  397.     End If
  398.   
  399.     '<<]以上为依据实际情况自定义部分
  400.  
  401.     Lrtjyxxpd = True
  402. End Function
  403. Private Sub Cmd_Clear_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)    '将用户输入条件全部清除(可选)
  404.     '清除文本框(Fixed)
  405.     For jsqte = 0 To Max_Text_Index
  406.         LrText(jsqte).Tag = ""
  407.         LrText(jsqte).Text = ""
  408.     Next jsqte
  409.     Opt_Check(0).Value = True
  410.     '[>>
  411.     '此处可以写入其他清除条件程序
  412.     '<<]
  413.   
  414. End Sub
  415. '*************以下为文本框录入处理程序(固定不变部分)*************'
  416. Private Sub Wbklrwbcl(Index As Integer)    '文本框录入事后处理程序
  417.   
  418.     '以下为依据实际情况自定义部分[
  419.     '在此填写文本框录入事后处理程序
  420.     ']以上为依据实际情况自定义部分
  421.   
  422. End Sub
  423. Private Sub LrText_Change(Index As Integer)
  424.    
  425.     '屏蔽程序改变控制
  426.     If TextChangeLock Then
  427.         Exit Sub
  428.     End If
  429.     
  430.     TextValiJudgeLock(Index) = False    '打开有效性判断锁
  431.     
  432.     '限制字段录入长度
  433.           
  434.     TextChangeLock = True  '加锁(防止执行Lrtext_Change)
  435.     Call TextChangeLimit(LrText(Index), Textint(Index, 1))  '去掉无效字符
  436.     Select Case Textint(Index, 1)
  437.         Case 8, 11      '金额型
  438.             Call Sjgskz(LrText(Index), Xtjezws - Xtjexsws - 1, Xtjexsws)
  439.         Case 9, 12      '数量型
  440.             Call Sjgskz(LrText(Index), Xtslzws - Xtslxsws - 1, Xtslxsws)
  441.         Case 10          '单价型
  442.             Call Sjgskz(LrText(Index), Xtdjzws - Xtdjxsws - 1, Xtdjxsws)
  443.         Case Else        '其他小数类型控制
  444.             If Textint(Index, 6) <> 0 Or Textint(Index, 7) <> 0 Then
  445.                 Call Sjgskz(LrText(Index), Textint(Index, 6), Textint(Index, 7))
  446.             End If
  447.     End Select
  448.         
  449.     TextChangeLock = False '解锁
  450. End Sub
  451. Private Sub LrText_GotFocus(Index As Integer)                                                 '文本框得到焦点,显示相应信息
  452.     Call TextShow(Index)
  453.     CurTextIndex = Index
  454.     LrText(Index).SelStart = Len(LrText(Index))
  455. End Sub
  456. Private Sub LrText_KeyDown(Index As Integer, KeyCode As Integer, Shift As Integer)            '字段按F2键提供帮助
  457.     
  458.     Select Case KeyCode
  459.         Case vbKeyF2
  460.             Call Text_Help(Index)
  461.     End Select
  462. End Sub
  463. Private Sub LrText_KeyPress(Index As Integer, KeyAscii As Integer)                            '文本框录入事中控制
  464.     Call InputFieldLimit(LrText(Index), Textint(Index, 1), KeyAscii)
  465. End Sub
  466. Private Sub LrText_LostFocus(Index As Integer)                                                '文本框失去焦点
  467.     '显示相应信息但不能进行有效性判断
  468.   
  469. End Sub
  470. Private Sub Ydcommand1_MouseDown(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)     '按钮提供帮助
  471.     Call Text_Help(Index)
  472. End Sub
  473. Private Sub Text_Help(Index As Integer)                                                       '录入字段帮助
  474.     If Not Textboolean(Index, 1) Then
  475.         Exit Sub
  476.     End If
  477.      
  478.     '调用帮助
  479.     Call Drbmhelp(Textint(Index, 2), Textstr(Index, 4), Trim(LrText(Index).Text))
  480.   
  481.     '根据设置选择显示编码和名称,并进行存储
  482.     If Len(Xtfhcs) <> 0 Then
  483.         If Textint(Index, 3) = 1 Then
  484.             LrText(Index).Text = Xtfhcsfz
  485.             LrText(Index).Tag = Xtfhcs
  486.         Else
  487.             LrText(Index).Text = Xtfhcs
  488.             LrText(Index).Tag = Xtfhcsfz
  489.         End If
  490.     End If
  491.    
  492.     LrText(Index).SetFocus
  493. End Sub
  494. Private Sub TextShow(Index As Integer)        '文本框得到焦点,显示相应信息
  495.     '填写文本框得到焦点,进行相应信息处理程序
  496.    
  497. End Sub
  498. Private Sub Wbkcsh()                          '录入文本框初始化
  499.     
  500.     Dim jsqte As Integer
  501.   
  502.     '最大录入文本框索引值
  503.     Max_Text_Index = Textvar(1)
  504.   
  505.     ReDim TextValiJudgeLock(Max_Text_Index)
  506.     For jsqte = 0 To Max_Text_Index
  507.         If Len(Trim(Textstr(jsqte, 1))) <> 0 Then
  508.             If Textboolean(jsqte, 1) Then
  509.                 If jsqte <> 0 And Not Textboolean(jsqte, 3) Then
  510.                     Load Ydcommand1(jsqte)
  511.                 End If
  512.                 Ydcommand1(jsqte).Visible = True
  513.                 Ydcommand1(jsqte).Move LrText(jsqte).Left + LrText(jsqte).Width, LrText(jsqte).Top
  514.             End If
  515.             TextChangeLock = True
  516.             LrText(jsqte).Text = ""
  517.             LrText(jsqte).Tag = ""
  518.             If Textint(jsqte, 5) <> 0 Then
  519.                 LrText(jsqte).MaxLength = Textint(jsqte, 5)
  520.             End If
  521.             TextChangeLock = False
  522.         End If
  523.         TextValiJudgeLock(jsqte) = True
  524.     Next jsqte
  525. End Sub
  526. Private Function TextYxxpd(Index As Integer) As Boolean           '文本框有效性判断
  527.     
  528.     Dim Sqlstr As String
  529.     Dim Findrec As ADODB.Recordset
  530.   
  531.     '文本框内容未曾改变不进行有效性判断
  532.     If TextValiJudgeLock(Index) Then
  533.         TextYxxpd = True
  534.         Exit Function
  535.     End If
  536.   
  537.     '文本框内容为空认为有效,并清空其Tag值
  538.     If Trim(LrText(Index)) = "" Then
  539.         LrText(Index).Tag = ""
  540.         Call Wbklrwbcl(Index)
  541.         TextValiJudgeLock(Index) = True
  542.         TextYxxpd = True
  543.         Exit Function
  544.     End If
  545.   
  546.     '可在此加入不做有效性判断的理由
  547.   
  548.     Select Case Textint(Index, 4)
  549.         Case 1      '编码型
  550.             Sqlstr = Trim(Textstr(Index, 5))
  551.             Sqlstr = Replace(Sqlstr, "@", "'" + Trim(LrText(Index).Text) + "'")
  552.             Set Findrec = Cw_DataEnvi.DataConnect.Execute(Sqlstr)
  553.             If Findrec.EOF Then
  554.                 Call Xtxxts(Trim(Textstr(Index, 6)), 0, 1)
  555.                 LrText(Index).SetFocus
  556.                 Exit Function
  557.             Else
  558.                 Select Case Textint(Index, 3)
  559.                     Case 0
  560.                         If Len(Trim(Textstr(Index, 2))) <> 0 Then
  561.                             LrText(Index).Text = Trim(Findrec.Fields(Trim(Textstr(Index, 2))))
  562.                         End If
  563.                         If Len(Trim(Textstr(Index, 3) & "")) <> 0 Then
  564.                             LrText(Index).Tag = Trim(Findrec.Fields(Trim(Textstr(Index, 3))))
  565.                         End If
  566.                     Case 1
  567.                         If Len(Trim(Textstr(Index, 3) & "")) <> 0 Then
  568.                             LrText(Index).Text = Trim(Findrec.Fields(Trim(Textstr(Index, 3))))
  569.                         End If
  570.                         If Len(Trim(Textstr(Index, 2))) <> 0 Then
  571.                             LrText(Index).Tag = Trim(Findrec.Fields(Trim(Textstr(Index, 2))))
  572.                         End If
  573.                 End Select
  574.             End If
  575.         Case 2      '日期型
  576.             If IsDate(LrText(Index).Text) Then
  577.                 LrText(Index).Text = Format(LrText(Index).Text, "yyyy-mm-dd")
  578.                 If Val(Mid(LrText(Index), 1, 4)) < 1900 Then
  579.                     LrText(Index).Text = "1900" + Mid(LrText(Index), 5, 6)
  580.                 End If
  581.             Else
  582.                 Tsxx = "非法公历日期!(格式:" + Format(Date, "yyyy-mm-dd") + ")"
  583.                 Call Xtxxts(Tsxx, 0, 1)
  584.                 LrText(Index).SetFocus
  585.                 Exit Function
  586.             End If
  587.         Case 3      '其他类型
  588.     End Select
  589.     
  590.     '如果有效则加锁,用户不改变内容则不再进行有效性判断
  591.     TextValiJudgeLock(Index) = True
  592.     '调用文本框事后处理程序
  593.     Call Wbklrwbcl(Index)
  594.    
  595.     '有效性判断通过则返回True
  596.     TextYxxpd = True
  597.    
  598. End Function