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

企业管理

开发平台:

Visual Basic

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