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

企业管理

开发平台:

Visual Basic

  1. VERSION 5.00
  2. Begin VB.Form Cask_LedgerQuery 
  3.    BorderStyle     =   3  'Fixed Dialog
  4.    Caption         =   "包装物总帐查询条件"
  5.    ClientHeight    =   2280
  6.    ClientLeft      =   45
  7.    ClientTop       =   330
  8.    ClientWidth     =   3675
  9.    Icon            =   "包装物管理系统_帐簿统计_包装物总帐查询条件.frx":0000
  10.    KeyPreview      =   -1  'True
  11.    LinkTopic       =   "Form1"
  12.    MaxButton       =   0   'False
  13.    MinButton       =   0   'False
  14.    ScaleHeight     =   2280
  15.    ScaleWidth      =   3675
  16.    ShowInTaskbar   =   0   'False
  17.    StartUpPosition =   1  '所有者中心
  18.    Begin VB.Frame Frame1 
  19.       Height          =   1815
  20.       Left            =   90
  21.       TabIndex        =   7
  22.       Top             =   0
  23.       Width           =   3495
  24.       Begin VB.ComboBox KJYearCombo 
  25.          Height          =   300
  26.          Left            =   990
  27.          Style           =   2  'Dropdown List
  28.          TabIndex        =   0
  29.          Top             =   210
  30.          Width           =   2385
  31.       End
  32.       Begin VB.CommandButton Ydcommand1 
  33.          Height          =   300
  34.          Index           =   2
  35.          Left            =   3060
  36.          Picture         =   "包装物管理系统_帐簿统计_包装物总帐查询条件.frx":08CA
  37.          Style           =   1  'Graphical
  38.          TabIndex        =   10
  39.          Top             =   1380
  40.          Visible         =   0   'False
  41.          Width           =   300
  42.       End
  43.       Begin VB.CommandButton Ydcommand1 
  44.          Height          =   300
  45.          Index           =   1
  46.          Left            =   3060
  47.          Picture         =   "包装物管理系统_帐簿统计_包装物总帐查询条件.frx":0C54
  48.          Style           =   1  'Graphical
  49.          TabIndex        =   9
  50.          Top             =   990
  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        =   3
  59.          Text            =   "2"
  60.          Top             =   1380
  61.          Width           =   2085
  62.       End
  63.       Begin VB.TextBox LrText 
  64.          Height          =   300
  65.          Index           =   1
  66.          Left            =   990
  67.          TabIndex        =   2
  68.          Text            =   "1"
  69.          Top             =   990
  70.          Width           =   2085
  71.       End
  72.       Begin VB.TextBox LrText 
  73.          Height          =   300
  74.          Index           =   0
  75.          Left            =   990
  76.          TabIndex        =   1
  77.          Text            =   "0"
  78.          Top             =   600
  79.          Width           =   2085
  80.       End
  81.       Begin VB.CommandButton Ydcommand1 
  82.          Height          =   300
  83.          Index           =   0
  84.          Left            =   3060
  85.          Picture         =   "包装物管理系统_帐簿统计_包装物总帐查询条件.frx":0FDE
  86.          Style           =   1  'Graphical
  87.          TabIndex        =   8
  88.          Top             =   600
  89.          Visible         =   0   'False
  90.          Width           =   300
  91.       End
  92.       Begin VB.Label Label1 
  93.          AutoSize        =   -1  'True
  94.          Caption         =   "会计年度:"
  95.          Height          =   180
  96.          Index           =   0
  97.          Left            =   150
  98.          TabIndex        =   14
  99.          Top             =   270
  100.          Width           =   810
  101.       End
  102.       Begin VB.Label Label1 
  103.          AutoSize        =   -1  'True
  104.          Caption         =   "仓库:"
  105.          Height          =   180
  106.          Index           =   11
  107.          Left            =   150
  108.          TabIndex        =   13
  109.          Top             =   1020
  110.          Width           =   450
  111.       End
  112.       Begin VB.Label Label1 
  113.          AutoSize        =   -1  'True
  114.          Caption         =   "包装物:"
  115.          Height          =   180
  116.          Index           =   7
  117.          Left            =   150
  118.          TabIndex        =   12
  119.          Top             =   660
  120.          Width           =   630
  121.       End
  122.       Begin VB.Label Label1 
  123.          AutoSize        =   -1  'True
  124.          Caption         =   "状态:"
  125.          Height          =   180
  126.          Index           =   8
  127.          Left            =   150
  128.          TabIndex        =   11
  129.          Top             =   1410
  130.          Width           =   450
  131.       End
  132.    End
  133.    Begin VB.CheckBox UnloadCheck 
  134.       Caption         =   "卸载窗体"
  135.       Height          =   615
  136.       Left            =   6000
  137.       TabIndex        =   6
  138.       Top             =   4530
  139.       Width           =   825
  140.    End
  141.    Begin VB.CommandButton QdCommand 
  142.       Caption         =   "确定(&O)"
  143.       Height          =   300
  144.       Left            =   1260
  145.       TabIndex        =   4
  146.       Top             =   1890
  147.       Width           =   1120
  148.    End
  149.    Begin VB.CommandButton QxCommand 
  150.       Caption         =   "取消(&C)"
  151.       Height          =   300
  152.       Left            =   2460
  153.       TabIndex        =   5
  154.       Top             =   1890
  155.       Width           =   1120
  156.    End
  157. End
  158. Attribute VB_Name = "Cask_LedgerQuery"
  159. Attribute VB_GlobalNameSpace = False
  160. Attribute VB_Creatable = False
  161. Attribute VB_PredeclaredId = True
  162. Attribute VB_Exposed = False
  163. '******************************************************************
  164. '*    模 块 名 称 :包装物流水帐查询条件
  165. '*    功 能 描 述 :
  166. '*    程序员姓名  :邹力
  167. '*    最后修改人  :
  168. '*    最后修改时间:2001/12/11
  169. '*    备        注:程序中所有依实际情况自定义部分均用[>>  <<]括起
  170. '******************************************************************
  171. Dim Tsxx As String                       '系统信息提示
  172. '以下为固定使用变量(文本框)
  173. Dim Textvar() As Variant                 '存储变体型文本框信息
  174. Dim Textboolean() As Boolean             '存储布尔型文本框信息
  175. Dim Textint() As Integer                 '存储整型文本框信息
  176. Dim Textstr() As String                  '存储字符型文本框信息
  177. Dim Max_Text_Index As Integer            '最大录入文本框索引值
  178. Dim TextGroupCode As String              '文本框录入分组编码
  179. Dim TextValiLock As Boolean              '文本框失去焦点是否进行有效性控制判断
  180. Dim TextValiJudgeLock() As Boolean       '文本框录入有效性判断控制锁
  181. Dim CurTextIndex As Integer              '当前文本框索引值
  182. Dim TextChangeLock As Boolean            '文本框内容变换控制锁
  183. Dim Bln_Cancel As Boolean                '取消按钮信息传递
  184. Private Sub Form_KeyPress(KeyAscii As Integer)   '控 制 焦 点 转 移(Fixed)
  185.     Dim jdzygs As Integer                         '控件焦点转移个数
  186.     jdzygs = 30
  187.     Select Case KeyAscii
  188.         Case vbKeyReturn
  189.             If Kjjdzy(jdzygs) Then
  190.                 KeyAscii = 0
  191.             End If
  192.         Case 39           '屏蔽"'"
  193.             KeyAscii = 0
  194.     End Select
  195. End Sub
  196. Private Sub Form_Load()
  197.     Dim ST_R As ADODB.Recordset
  198.     
  199.     '以下为文本框处理程序(Fixed)
  200.     TextGroupCode = "Cask_LedgerQuery"
  201.     Call Drwbkxx(TextGroupCode, Textvar(), Textboolean(), Textint(), Textstr())  '读入文本框录入信息
  202.     Call Wbkcsh
  203.    
  204.     '[>>初始化查询条件默认值
  205.     
  206.     Set ST_R = Cw_DataEnvi.DataConnect.Execute("select DISTINCT KJYear from Cask_V_Ledger order by KJYear")
  207.     If Not ST_R.EOF Then
  208.         For i = 1 To ST_R.RecordCount
  209.             KjyearCombo.AddItem Trim(ST_R!KjYear)
  210.             ST_R.MoveNext
  211.         Next i
  212.     Else
  213.         KjyearCombo.AddItem Trim(Xtyear)
  214.     End If
  215.     KjyearCombo.Text = Trim(Xtyear)
  216.     '<<]
  217.    
  218. End Sub
  219. Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)          '查询条件窗体卸载
  220.     '查询条件窗体卸载时判断是否因为结果窗体卸载,如是则卸载,否则隐藏
  221.     If UnloadCheck.Value <> 1 Then
  222.         Cancel = 1
  223.         Me.Hide
  224.     End If
  225.     
  226. End Sub
  227. Private Sub QdCommand_Click()                                   '确 定
  228.     '录入条件有效性判断(Fixed)
  229.     If Not Lrtjyxxpd Then
  230.         Exit Sub
  231.     End If
  232.     Me.Hide
  233.         
  234.     '[>>激活查询过程结果窗体
  235.     
  236.     Cask_Ledger.Timer1.Enabled = True
  237.     Cask_Ledger.SetFocus
  238.     
  239.     '<<]
  240. End Sub
  241. Private Sub QxCommand_Click()                                    '取消(Fixed)
  242.     Me.Hide
  243. End Sub
  244. Private Function Lrtjyxxpd() As Boolean                          '用户录入条件有效性判断
  245.     Dim Jsqte As Integer
  246.     Lrtjyxxpd = False
  247.  
  248.     '对需要进行事后判断的文本框录入内容进行有效性判断 (Fixed)
  249.     For Jsqte = 0 To Max_Text_Index
  250.         If Textint(Jsqte, 9) = 0 Or Textint(Jsqte, 9) = 2 Then
  251.             If Not TextYxxpd(Jsqte) Then
  252.                 Exit Function
  253.             End If
  254.         End If
  255.     Next Jsqte
  256.    
  257.     '[>>以下为依据实际情况自定义部分
  258.  
  259.     '<<]以上为依据实际情况自定义部分
  260.  
  261.     Lrtjyxxpd = True
  262. End Function
  263. '*************以下为文本框录入处理程序(固定不变部分)*************'
  264. Private Sub Wbklrwbcl(Index As Integer)    '文本框录入事后处理程序
  265.   
  266.     '以下为依据实际情况自定义部分[
  267.     '在此填写文本框录入事后处理程序
  268.     ']以上为依据实际情况自定义部分
  269.   
  270. End Sub
  271. Private Sub LrText_Change(Index As Integer)
  272.    
  273.     '屏蔽程序改变控制
  274.     If TextChangeLock Then
  275.         Exit Sub
  276.     End If
  277.     
  278.     TextValiJudgeLock(Index) = False    '打开有效性判断锁
  279.     
  280.     '限制字段录入长度
  281.           
  282.     TextChangeLock = True  '加锁(防止执行Lrtext_Change)
  283.      Call TextChangeLimit(LrText(Index), Textint(Index, 1))  '去掉无效字符
  284.      
  285.     Select Case Textint(Index, 1)
  286.         Case 8, 11      '金额型
  287.             Call Sjgskz(LrText(Index), Xtjezws - Xtjexsws - 1, Xtjexsws)
  288.         Case 9, 12      '数量型
  289.             Call Sjgskz(LrText(Index), Xtslzws - Xtslxsws - 1, Xtslxsws)
  290.         Case 10          '单价型
  291.             Call Sjgskz(LrText(Index), Xtdjzws - Xtdjxsws - 1, Xtdjxsws)
  292.         Case Else        '其他小数类型控制
  293.             If Textint(Index, 6) <> 0 Or Textint(Index, 7) <> 0 Then
  294.                 Call Sjgskz(LrText(Index), Textint(Index, 6), Textint(Index, 7))
  295.             End If
  296.     End Select
  297.         
  298.     TextChangeLock = False '解锁
  299. End Sub
  300. Private Sub LrText_GotFocus(Index As Integer)                                                 '文本框得到焦点,显示相应信息
  301.     Call TextShow(Index)
  302.     CurTextIndex = Index
  303.     LrText(Index).SelStart = Len(LrText(Index))
  304. End Sub
  305. Private Sub LrText_KeyDown(Index As Integer, KeyCode As Integer, Shift As Integer)            '字段按F2键提供帮助
  306.     
  307.     Select Case KeyCode
  308.         Case vbKeyF2
  309.             Call Text_Help(Index)
  310.     End Select
  311. End Sub
  312. Private Sub LrText_KeyPress(Index As Integer, KeyAscii As Integer)                            '文本框录入事中控制
  313.     Call InputFieldLimit(LrText(Index), Textint(Index, 1), KeyAscii)
  314. End Sub
  315. Private Sub LrText_LostFocus(Index As Integer)                                                '文本框失去焦点
  316.     '显示相应信息但不能进行有效性判断
  317.   
  318. End Sub
  319. Private Sub Ydcommand1_MouseDown(Index As Integer, Button As Integer, Shift As Integer, x As Single, y As Single)     '按钮提供帮助
  320.     Call Text_Help(Index)
  321. End Sub
  322. Private Sub Text_Help(Index As Integer)                                                       '录入字段帮助
  323.     If Not Textboolean(Index, 1) Then
  324.         Exit Sub
  325.     End If
  326.      
  327.     '调用帮助
  328.     Call Drbmhelp(Textint(Index, 2), Textstr(Index, 4), Trim(LrText(Index).Text))
  329.   
  330.     '根据设置选择显示编码和名称,并进行存储
  331.     If Len(Xtfhcs) <> 0 Then
  332.         If Textint(Index, 3) = 1 Then
  333.             LrText(Index).Text = Xtfhcsfz
  334.             LrText(Index).Tag = Xtfhcs
  335.         Else
  336.             LrText(Index).Text = Xtfhcs
  337.             LrText(Index).Tag = Xtfhcsfz
  338.         End If
  339.     End If
  340.    
  341.     LrText(Index).SetFocus
  342. End Sub
  343. Private Sub TextShow(Index As Integer)        '文本框得到焦点,显示相应信息
  344.     '填写文本框得到焦点,进行相应信息处理程序
  345.    
  346. End Sub
  347. Private Sub Wbkcsh()                          '录入文本框初始化
  348.     
  349.     Dim Jsqte As Integer
  350.   
  351.     '最大录入文本框索引值
  352.     Max_Text_Index = Textvar(1)
  353.   
  354.     ReDim TextValiJudgeLock(Max_Text_Index)
  355.     For Jsqte = 0 To Max_Text_Index
  356.         If Len(Trim(Textstr(Jsqte, 1))) <> 0 Then
  357.             If Textboolean(Jsqte, 1) Then
  358.                 If Jsqte <> 0 And Not Textboolean(Jsqte, 3) Then
  359.                     Load Ydcommand1(Jsqte)
  360.                 End If
  361.                 Ydcommand1(Jsqte).Visible = True
  362.                 Ydcommand1(Jsqte).Move LrText(Jsqte).Left + LrText(Jsqte).Width, LrText(Jsqte).Top
  363.             End If
  364.             TextChangeLock = True
  365.             LrText(Jsqte).Text = ""
  366.             LrText(Jsqte).Tag = ""
  367.             If Textint(Jsqte, 5) <> 0 Then
  368.                 LrText(Jsqte).MaxLength = Textint(Jsqte, 5)
  369.             End If
  370.             TextChangeLock = False
  371.         End If
  372.         TextValiJudgeLock(Jsqte) = True
  373.     Next Jsqte
  374. End Sub
  375. Private Function TextYxxpd(Index As Integer) As Boolean           '文本框有效性判断
  376.     
  377.     Dim Sqlstr As String
  378.     Dim Findrec As ADODB.Recordset
  379.   
  380.     '文本框内容未曾改变不进行有效性判断
  381.     If TextValiJudgeLock(Index) Then
  382.         TextYxxpd = True
  383.         Exit Function
  384.     End If
  385.   
  386.     '文本框内容为空认为有效,并清空其Tag值
  387.     If Trim(LrText(Index)) = "" Then
  388.         LrText(Index).Tag = ""
  389.         Call Wbklrwbcl(Index)
  390.         TextValiJudgeLock(Index) = True
  391.         TextYxxpd = True
  392.         Exit Function
  393.     End If
  394.   
  395.     '可在此加入不做有效性判断的理由
  396.   
  397.     Select Case Textint(Index, 4)
  398.         Case 1      '编码型
  399.             Sqlstr = Trim(Textstr(Index, 5))
  400.             Sqlstr = Replace(Sqlstr, "@", "'" + Trim(LrText(Index).Text) + "'")
  401.             Set Findrec = Cw_DataEnvi.DataConnect.Execute(Sqlstr)
  402.             If Findrec.EOF Then
  403.                 Call Xtxxts(Trim(Textstr(Index, 6)), 0, 1)
  404.                 LrText(Index).SetFocus
  405.                 Exit Function
  406.             Else
  407.                 Select Case Textint(Index, 3)
  408.                     Case 0
  409.                         If Len(Trim(Textstr(Index, 2))) <> 0 Then
  410.                             LrText(Index).Text = Trim(Findrec.Fields(Trim(Textstr(Index, 2))))
  411.                         End If
  412.                         If Len(Trim(Textstr(Index, 3) & "")) <> 0 Then
  413.                             LrText(Index).Tag = Trim(Findrec.Fields(Trim(Textstr(Index, 3))))
  414.                         End If
  415.                     Case 1
  416.                         If Len(Trim(Textstr(Index, 3) & "")) <> 0 Then
  417.                             LrText(Index).Text = Trim(Findrec.Fields(Trim(Textstr(Index, 3))))
  418.                         End If
  419.                         If Len(Trim(Textstr(Index, 2))) <> 0 Then
  420.                             LrText(Index).Tag = Trim(Findrec.Fields(Trim(Textstr(Index, 2))))
  421.                         End If
  422.                 End Select
  423.             End If
  424.         Case 2      '日期型
  425.             If IsDate(LrText(Index).Text) Then
  426.                 LrText(Index).Text = Format(LrText(Index).Text, "yyyy-mm-dd")
  427.                 If Val(Mid(LrText(Index), 1, 4)) < 1900 Then
  428.                     LrText(Index).Text = "1900" + Mid(LrText(Index), 5, 6)
  429.                 End If
  430.             Else
  431.                 Tsxx = "非法公历日期!(格式:" + Format(Date, "yyyy-mm-dd") + ")"
  432.                 Call Xtxxts(Tsxx, 0, 1)
  433.                 LrText(Index).SetFocus
  434.                 Exit Function
  435.             End If
  436.         Case 3      '其他类型
  437.     End Select
  438.     
  439.     '如果有效则加锁,用户不改变内容则不再进行有效性判断
  440.     TextValiJudgeLock(Index) = True
  441.     '调用文本框事后处理程序
  442.     Call Wbklrwbcl(Index)
  443.    
  444.     '有效性判断通过则返回True
  445.     TextYxxpd = True
  446.    
  447. End Function