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

企业管理

开发平台:

Visual Basic

  1. VERSION 5.00
  2. Object = "{831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.0#0"; "MSCOMCTL.OCX"
  3. Begin VB.Form ZF_Kh_FrmKmyebtj 
  4.    BorderStyle     =   1  'Fixed Single
  5.    Caption         =   "客户往来_科目余额表查询条件"
  6.    ClientHeight    =   3645
  7.    ClientLeft      =   45
  8.    ClientTop       =   330
  9.    ClientWidth     =   5070
  10.    Icon            =   "辅助_客户往来_科目余额表查询条件.frx":0000
  11.    KeyPreview      =   -1  'True
  12.    LinkTopic       =   "Form2"
  13.    MaxButton       =   0   'False
  14.    MinButton       =   0   'False
  15.    ScaleHeight     =   3645
  16.    ScaleWidth      =   5070
  17.    StartUpPosition =   2  '屏幕中心
  18.    Begin VB.Frame Fra_Query 
  19.       ForeColor       =   &H00FF0000&
  20.       Height          =   3165
  21.       Left            =   60
  22.       TabIndex        =   15
  23.       Top             =   0
  24.       Width           =   4935
  25.       Begin VB.CheckBox Chk_NotOuputZero 
  26.          Caption         =   "辅助项各列数据均为零则不显示"
  27.          Height          =   225
  28.          Left            =   210
  29.          TabIndex        =   11
  30.          Top             =   2820
  31.          Value           =   1  'Checked
  32.          Width           =   3285
  33.       End
  34.       Begin VB.CheckBox Chk_NotBook 
  35.          Caption         =   "是否包含未记帐凭证"
  36.          Height          =   285
  37.          Left            =   210
  38.          TabIndex        =   10
  39.          Top             =   2490
  40.          Width           =   2145
  41.       End
  42.       Begin VB.ComboBox Combo_Kjqj 
  43.          ForeColor       =   &H00000000&
  44.          Height          =   300
  45.          Index           =   0
  46.          Left            =   1140
  47.          Style           =   2  'Dropdown List
  48.          TabIndex        =   3
  49.          Top             =   945
  50.          Width           =   1725
  51.       End
  52.       Begin VB.ComboBox Combo_Kjqj 
  53.          ForeColor       =   &H00000000&
  54.          Height          =   300
  55.          Index           =   1
  56.          Left            =   3120
  57.          Style           =   2  'Dropdown List
  58.          TabIndex        =   4
  59.          Top             =   945
  60.          Width           =   1665
  61.       End
  62.       Begin VB.TextBox LrText 
  63.          Height          =   300
  64.          Index           =   3
  65.          Left            =   3120
  66.          TabIndex        =   6
  67.          Text            =   "3"
  68.          Top             =   1305
  69.          Width           =   1665
  70.       End
  71.       Begin VB.TextBox LrText 
  72.          Height          =   300
  73.          Index           =   2
  74.          Left            =   1140
  75.          TabIndex        =   5
  76.          Text            =   "2"
  77.          Top             =   1305
  78.          Width           =   1695
  79.       End
  80.       Begin VB.Frame Frame1 
  81.          Caption         =   "统计方向"
  82.          Height          =   705
  83.          Left            =   180
  84.          TabIndex        =   18
  85.          Top             =   1710
  86.          Width           =   4575
  87.          Begin VB.OptionButton Opt_Tjfx 
  88.             Caption         =   "双方余额"
  89.             Height          =   375
  90.             Index           =   0
  91.             Left            =   180
  92.             TabIndex        =   7
  93.             Top             =   240
  94.             Value           =   -1  'True
  95.             Width           =   1185
  96.          End
  97.          Begin VB.OptionButton Opt_Tjfx 
  98.             Caption         =   "借方余额"
  99.             Height          =   375
  100.             Index           =   1
  101.             Left            =   1590
  102.             TabIndex        =   8
  103.             Top             =   240
  104.             Width           =   1185
  105.          End
  106.          Begin VB.OptionButton Opt_Tjfx 
  107.             Caption         =   "贷方余额"
  108.             Height          =   375
  109.             Index           =   2
  110.             Left            =   3030
  111.             TabIndex        =   9
  112.             Top             =   240
  113.             Width           =   1185
  114.          End
  115.       End
  116.       Begin VB.CommandButton Ydcommand1 
  117.          Height          =   300
  118.          Index           =   0
  119.          Left            =   2550
  120.          Picture         =   "辅助_客户往来_科目余额表查询条件.frx":1042
  121.          Style           =   1  'Graphical
  122.          TabIndex        =   17
  123.          Top             =   600
  124.          Visible         =   0   'False
  125.          Width           =   300
  126.       End
  127.       Begin VB.TextBox LrText 
  128.          Height          =   300
  129.          Index           =   0
  130.          Left            =   1140
  131.          TabIndex        =   1
  132.          Text            =   "0"
  133.          Top             =   585
  134.          Width           =   1425
  135.       End
  136.       Begin VB.TextBox LrText 
  137.          Height          =   300
  138.          Index           =   1
  139.          Left            =   3120
  140.          TabIndex        =   2
  141.          Text            =   "1"
  142.          Top             =   585
  143.          Width           =   1395
  144.       End
  145.       Begin VB.CommandButton Ydcommand1 
  146.          Height          =   300
  147.          Index           =   1
  148.          Left            =   4500
  149.          Picture         =   "辅助_客户往来_科目余额表查询条件.frx":13CC
  150.          Style           =   1  'Graphical
  151.          TabIndex        =   16
  152.          Top             =   600
  153.          Visible         =   0   'False
  154.          Width           =   300
  155.       End
  156.       Begin MSComctlLib.ImageCombo Imgebo_FzCcode 
  157.          Height          =   315
  158.          Left            =   1140
  159.          TabIndex        =   0
  160.          Top             =   210
  161.          Width           =   3675
  162.          _ExtentX        =   6482
  163.          _ExtentY        =   556
  164.          _Version        =   393216
  165.          ForeColor       =   -2147483640
  166.          BackColor       =   -2147483643
  167.          Locked          =   -1  'True
  168.       End
  169.       Begin VB.Label Label1 
  170.          AutoSize        =   -1  'True
  171.          Caption         =   "会计科目:"
  172.          Height          =   180
  173.          Index           =   0
  174.          Left            =   180
  175.          TabIndex        =   22
  176.          Top             =   300
  177.          Width           =   810
  178.       End
  179.       Begin VB.Line Line1 
  180.          Index           =   1
  181.          X1              =   2850
  182.          X2              =   3090
  183.          Y1              =   1080
  184.          Y2              =   1080
  185.       End
  186.       Begin VB.Image Image1 
  187.          Height          =   480
  188.          Left            =   3870
  189.          Picture         =   "辅助_客户往来_科目余额表查询条件.frx":1756
  190.          Top             =   2490
  191.          Width           =   480
  192.       End
  193.       Begin VB.Line Line2 
  194.          Index           =   0
  195.          X1              =   2850
  196.          X2              =   3090
  197.          Y1              =   1470
  198.          Y2              =   1470
  199.       End
  200.       Begin VB.Label Label1 
  201.          AutoSize        =   -1  'True
  202.          Caption         =   "会计期间:"
  203.          Height          =   180
  204.          Index           =   2
  205.          Left            =   180
  206.          TabIndex        =   21
  207.          Top             =   1020
  208.          Width           =   810
  209.       End
  210.       Begin VB.Label Label1 
  211.          AutoSize        =   -1  'True
  212.          Caption         =   "余额范围:"
  213.          Height          =   180
  214.          Index           =   3
  215.          Left            =   180
  216.          TabIndex        =   20
  217.          Top             =   1350
  218.          Width           =   810
  219.       End
  220.       Begin VB.Label Label1 
  221.          AutoSize        =   -1  'True
  222.          Caption         =   "客户编码:"
  223.          Height          =   180
  224.          Index           =   11
  225.          Left            =   180
  226.          TabIndex        =   19
  227.          Top             =   660
  228.          Width           =   810
  229.       End
  230.       Begin VB.Line Line1 
  231.          Index           =   0
  232.          X1              =   2880
  233.          X2              =   3120
  234.          Y1              =   750
  235.          Y2              =   750
  236.       End
  237.    End
  238.    Begin VB.CommandButton QdCommand 
  239.       Caption         =   "确定(&O)"
  240.       Height          =   300
  241.       Left            =   2670
  242.       TabIndex        =   12
  243.       Top             =   3270
  244.       Width           =   1120
  245.    End
  246.    Begin VB.CommandButton QxCommand 
  247.       Caption         =   "取消(&C)"
  248.       Height          =   300
  249.       Left            =   3870
  250.       TabIndex        =   13
  251.       Top             =   3270
  252.       Width           =   1120
  253.    End
  254.    Begin VB.CheckBox UnloadCheck 
  255.       Caption         =   "卸载窗体"
  256.       Height          =   615
  257.       Left            =   8250
  258.       TabIndex        =   14
  259.       Top             =   720
  260.       Visible         =   0   'False
  261.       Width           =   825
  262.    End
  263. End
  264. Attribute VB_Name = "ZF_Kh_FrmKmyebtj"
  265. Attribute VB_GlobalNameSpace = False
  266. Attribute VB_Creatable = False
  267. Attribute VB_PredeclaredId = True
  268. Attribute VB_Exposed = False
  269. '****************************************************************
  270. '*    模 块 名 称 :辅助核算_客户往来_科目余额表查询条件
  271. '*    功 能 描 述 :
  272. '*    程序员姓名  :张建忠
  273. '*    最后修改人  :奚俊峰
  274. '*    最后修改时间:2001/12/26
  275. '*    备        注:程序中所有依实际情况自定义部分均用[>>  <<]括起
  276. '****************************************************************
  277. Dim Tsxx As String                       '系统提示信息
  278. '以下为固定使用变量(文本框)
  279. Dim Textvar() As Variant                 '存储变体型文本框信息
  280. Dim Textboolean() As Boolean             '存储布尔型文本框信息
  281. Dim Textint() As Integer                 '存储整型文本框信息
  282. Dim Textstr() As String                  '存储字符型文本框信息
  283. Dim Max_Text_Index As Integer            '最大录入文本框索引值
  284. Dim TextGroupCode As String              '文本框录入分组编码
  285. Dim TextValiLock As Boolean              '文本框失去焦点是否进行有效性控制判断
  286. Dim TextValiJudgeLock() As Boolean       '文本框录入有效性判断控制锁
  287. Dim CurTextIndex As Integer              '当前文本框索引值
  288. Dim TextChangeLock As Boolean            '文本框内容变换控制锁
  289. Dim Bln_Cancel As Boolean                '取消按钮信息传递
  290. Private Sub Form_KeyPress(KeyAscii As Integer)   '控 制 焦 点 转 移
  291.     Dim jdzygs As Integer                         '控件焦点转移个数
  292.     jdzygs = 30
  293.     Select Case KeyAscii
  294.     Case vbKeyReturn
  295.         If Kjjdzy(jdzygs) Then
  296.             KeyAscii = 0
  297.         End If
  298.     Case 39           '屏蔽"'"
  299.         KeyAscii = 0
  300.     End Select
  301. End Sub
  302. Private Sub Form_Load()
  303.     
  304.     '辅助查询科目
  305.     Call FillImageCombo(Imgebo_FzCcode, "Cwzz_khwlkm", 0)
  306.     
  307.     '填充会计期间列表框(年度默认为用户选择年度)
  308.     Call Sub_FillPeriod(Combo_Kjqj(0), Xtyear, Xtmm)
  309.     Call Sub_FillPeriod(Combo_Kjqj(1), Xtyear, Xtmm)
  310.     
  311.     '以下为文本框处理程序
  312.     
  313.     TextGroupCode = "Cwzz_kh_kmyebcxtj"
  314.     Call Drwbkxx(TextGroupCode, Textvar(), Textboolean(), Textint(), Textstr())  '读入文本框录入信息
  315.     Call Wbkcsh
  316.     
  317. End Sub
  318. Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
  319.     If UnloadCheck.Value <> 1 Then
  320.         Cancel = 1
  321.         Me.Hide
  322.     End If
  323. End Sub
  324. Private Sub QdCommand_Click()                                   '确 定
  325.     '录入条件有效性判断
  326.     If Not Lrtjyxxpd Then
  327.         Exit Sub
  328.     End If
  329.     Me.Hide
  330.     
  331.     '激活查询过程
  332.     ZF_Kh_Frmkmyebjg.Timer1.Enabled = True
  333.     ZF_Kh_Frmkmyebjg.SetFocus
  334.     
  335. End Sub
  336. Private Sub QxCommand_Click()                                    '取消
  337.     Me.Hide
  338. End Sub
  339. Private Function Lrtjyxxpd() As Boolean                          '用户录入条件有效性判断
  340.     Dim Jsqte As Integer
  341.     Lrtjyxxpd = False
  342.     
  343.     '对需要进行事后判断的文本框录入内容进行有效性判断 (固定不变)
  344.     For Jsqte = 0 To Max_Text_Index
  345.         If Textint(Jsqte, 9) = 0 Or Textint(Jsqte, 9) = 2 Then
  346.             If Not TextYxxpd(Jsqte) Then
  347.                 Exit Function
  348.             End If
  349.         End If
  350.     Next Jsqte
  351.     
  352.     '[>>以下为依据实际情况自定义部分
  353.     
  354.     '如果输入客户编码范围,则客户编码应由小到大
  355.     If Trim(LrText(0).Text) > Trim(LrText(1).Text) And Trim(LrText(1).Text) <> "" Then
  356.         Tsxx = "客户编码范围应由小到大!"
  357.         Call Xtxxts(Tsxx, 0, 4)
  358.         LrText(0).SetFocus
  359.         Exit Function
  360.     End If
  361.     
  362.     '查询会计期间范围应由小到大
  363.     If Trim(Combo_Kjqj(0).Text) > Trim(Combo_Kjqj(1).Text) Then
  364.         Tsxx = "查询会计期间范围应由小到大!"
  365.         Call Xtxxts(Tsxx, 0, 4)
  366.         Combo_Kjqj(0).SetFocus
  367.         Exit Function
  368.     End If
  369.     
  370.     '查询金额范围应由小到大
  371.     If Val(LrText(2).Text) > Val(LrText(3).Text) And Val(LrText(3).Text) <> 0 Then
  372.         Tsxx = "查询金额范围应由小到大!"
  373.         Call Xtxxts(Tsxx, 0, 4)
  374.         LrText(2).SetFocus
  375.         Exit Function
  376.     End If
  377.     
  378.     '<<]以上为依据实际情况自定义部分
  379.     
  380.     Lrtjyxxpd = True
  381. End Function
  382. '************以下为文本框录入处理程序(固定不变部分)*************'
  383. Private Sub Wbklrwbcl(Index As Integer)    '文本框录入事后处理程序
  384.     
  385.     '以下为依据实际情况自定义部分[
  386.     
  387.     '在此填写文本框录入事后处理程序
  388.     
  389.     ']以上为依据实际情况自定义部分
  390. End Sub
  391. Private Sub LrText_Change(Index As Integer)
  392.     
  393.     '屏蔽程序改变控制
  394.     If TextChangeLock Then
  395.         Exit Sub
  396.     End If
  397.     
  398.     TextValiJudgeLock(Index) = False    '打开有效性判断锁
  399.     
  400.     '限制字段录入长度
  401.     
  402.     TextChangeLock = True  '加锁(防止执行Lrtext_Change)
  403.     Select Case Textint(Index, 1)
  404.     Case 8           '金额型
  405.         Call Sjgskz(LrText(Index), Xtjezws - Xtjexsws - 1, Xtjexsws)
  406.     Case 9           '数量型
  407.         Call Sjgskz(LrText(Index), Xtslzws - Xtslxsws - 1, Xtslxsws)
  408.     Case 10          '单价型
  409.         Call Sjgskz(LrText(Index), Xtdjzws - Xtdjxsws - 1, Xtdjxsws)
  410.     Case Else        '其他小数类型控制
  411.         If Textint(Index, 6) <> 0 Or Textint(Index, 7) <> 0 Then
  412.             Call Sjgskz(LrText(Index), Textint(Index, 6), Textint(Index, 7))
  413.         End If
  414.     End Select
  415.     TextChangeLock = False '解锁
  416. End Sub
  417. Private Sub LrText_GotFocus(Index As Integer)                                                 '文本框得到焦点,显示相应信息
  418.     Call TextShow(Index)
  419.     CurTextIndex = Index
  420.     LrText(Index).SelStart = Len(LrText(Index))
  421. End Sub
  422. Private Sub LrText_KeyDown(Index As Integer, KeyCode As Integer, Shift As Integer)            '字段按F2键提供帮助
  423.     Select Case KeyCode
  424.     Case vbKeyF2
  425.         Call Text_Help(Index)
  426.     End Select
  427. End Sub
  428. Private Sub LrText_KeyPress(Index As Integer, KeyAscii As Integer)                            '文本框录入事中控制
  429.     Call InputFieldLimit(LrText(Index), Textint(Index, 1), KeyAscii)
  430. End Sub
  431. Private Sub LrText_LostFocus(Index As Integer)                                                '文本框失去焦点进行有效性判断及相应处理
  432.     If Textint(Index, 9) = 0 Or Textint(Index, 9) = 1 Then '事中判断
  433.         Call TextYxxpd(Index)
  434.     End If
  435. End Sub
  436. Private Sub Ydcommand1_MouseDown(Index As Integer, Button As Integer, Shift As Integer, x As Single, y As Single)     '按钮提供帮助
  437.     Call Text_Help(Index)
  438. End Sub
  439. Private Sub Text_Help(Index As Integer)                                                       '录入字段帮助
  440.     If Not Textboolean(Index, 1) Then
  441.         Exit Sub
  442.     End If
  443.     TextValiJudgeLock(Index) = True
  444.     
  445.     '先进行有效性判断
  446.     If Not TextYxxpd(CurTextIndex) Then
  447.         Exit Sub
  448.     End If
  449.     
  450.     Call Drbmhelp(Textint(Index, 2), Textstr(Index, 4), Trim(LrText(Index).Text))
  451.     
  452.     If Len(Xtfhcs) <> 0 Then
  453.         If Textint(Index, 3) = 1 Then
  454.             LrText(Index).Text = Xtfhcsfz
  455.             LrText(Index).Tag = Xtfhcs
  456.         Else
  457.             LrText(Index).Text = Xtfhcs
  458.             LrText(Index).Tag = Xtfhcsfz
  459.         End If
  460.         
  461.     End If
  462.     TextValiJudgeLock(Index) = False
  463.     LrText(Index).SetFocus
  464. End Sub
  465. Private Sub TextShow(Index As Integer)        '文本框得到焦点,显示相应信息
  466.     
  467.     '填写文本框得到焦点,进行相应信息处理程序
  468.     
  469. End Sub
  470. Private Sub Wbkcsh()                          '录入文本框初始化
  471.     Dim Jsqte As Integer
  472.     
  473.     '最大录入文本框索引值
  474.     Max_Text_Index = Textvar(1)
  475.     
  476.     ReDim TextValiJudgeLock(Max_Text_Index)
  477.     For Jsqte = 0 To Max_Text_Index
  478.         
  479.         If Len(Trim(Textstr(Jsqte, 1))) <> 0 Then
  480.             If Textboolean(Jsqte, 1) Then
  481.                 If Jsqte <> 0 And Not Textboolean(Jsqte, 3) Then
  482.                     Load Ydcommand1(Jsqte)
  483.                 End If
  484.                 Ydcommand1(Jsqte).Visible = True
  485.                 Ydcommand1(Jsqte).Move LrText(Jsqte).Left + LrText(Jsqte).Width, LrText(Jsqte).Top
  486.             End If
  487.             TextChangeLock = True
  488.             LrText(Jsqte).Text = ""
  489.             LrText(Jsqte).Tag = ""
  490.             If Textint(Jsqte, 5) <> 0 Then
  491.                 LrText(Jsqte).MaxLength = Textint(Jsqte, 5)
  492.             End If
  493.             
  494.             TextChangeLock = False
  495.         End If
  496.         TextValiJudgeLock(Jsqte) = True
  497.     Next Jsqte
  498. End Sub
  499. Private Function TextYxxpd(Index As Integer) As Boolean           '文本框有效性判断
  500.     Dim Sqlstr As String
  501.     Dim Findrec As ADODB.Recordset
  502.     If TextValiJudgeLock(Index) Then    '文本框内容未曾改变不进行有效性判断
  503.         TextYxxpd = True
  504.         Exit Function
  505.     End If
  506.     If Trim(LrText(Index)) = "" Then
  507.         LrText(Index).Tag = ""
  508.         Call Wbklrwbcl(Index)
  509.         TextValiJudgeLock(Index) = True
  510.         TextYxxpd = True
  511.         Exit Function
  512.     End If
  513.     Select Case Textint(Index, 4)
  514.     Case 1      '编码型
  515.         Sqlstr = Trim(Textstr(Index, 5))
  516.         Sqlstr = Replace(Sqlstr, "@", "'" + Trim(LrText(Index).Text) + "'")
  517.         Set Findrec = Cw_DataEnvi.DataConnect.Execute(Sqlstr)
  518.         If Findrec.EOF Then
  519.             Call Xtxxts(Trim(Textstr(Index, 6)), 0, 1)
  520.             LrText(Index).SetFocus
  521.             Exit Function
  522.         Else
  523.             Select Case Textint(Index, 3)
  524.             Case 0
  525.                 If Len(Trim(Textstr(Index, 2))) <> 0 Then
  526.                     LrText(Index).Text = Trim(Findrec.Fields(Trim(Textstr(Index, 2))))
  527.                 End If
  528.                 If Len(Trim(Textstr(Index, 3) & "")) <> 0 Then
  529.                     LrText(Index).Tag = Trim(Findrec.Fields(Trim(Textstr(Index, 3))))
  530.                 End If
  531.             Case 1
  532.                 If Len(Trim(Textstr(Index, 3) & "")) <> 0 Then
  533.                     LrText(Index).Text = Trim(Findrec.Fields(Trim(Textstr(Index, 3))))
  534.                 End If
  535.                 If Len(Trim(Textstr(Index, 2))) <> 0 Then
  536.                     LrText(Index).Tag = Trim(Findrec.Fields(Trim(Textstr(Index, 2))))
  537.                 End If
  538.             End Select
  539.         End If
  540.     Case 2      '日期型
  541.         If IsDate(LrText(Index).Text) Then
  542.             LrText(Index).Text = Format(LrText(Index).Text, "yyyy-mm-dd")
  543.         Else
  544.             Tsxx = "非法公历日期!(格式:" + Format(Date, "yyyy-mm-dd") + ")"
  545.             Call Xtxxts(Tsxx, 0, 1)
  546.             LrText(Index).SetFocus
  547.             Exit Function
  548.         End If
  549.     Case 3      '其他类型
  550.         
  551.     End Select
  552.     TextValiJudgeLock(Index) = True
  553.     TextYxxpd = True
  554. End Function