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

企业管理

开发平台:

Visual Basic

  1. VERSION 5.00
  2. Object = "{831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.0#0"; "MSCOMCTL.OCX"
  3. Begin VB.Form ZF_Kh_Frmslmxztj 
  4.    BorderStyle     =   1  'Fixed Single
  5.    Caption         =   "客户_三栏明细帐查询条件"
  6.    ClientHeight    =   2565
  7.    ClientLeft      =   45
  8.    ClientTop       =   330
  9.    ClientWidth     =   4875
  10.    Icon            =   "辅助_客户_三栏明细帐查询条件.frx":0000
  11.    KeyPreview      =   -1  'True
  12.    LinkTopic       =   "Form2"
  13.    MaxButton       =   0   'False
  14.    MinButton       =   0   'False
  15.    ScaleHeight     =   2565
  16.    ScaleWidth      =   4875
  17.    StartUpPosition =   2  '屏幕中心
  18.    Begin VB.CommandButton QdCommand 
  19.       Caption         =   "确定(&O)"
  20.       Height          =   300
  21.       Left            =   2490
  22.       TabIndex        =   6
  23.       Top             =   2190
  24.       Width           =   1120
  25.    End
  26.    Begin VB.CommandButton QxCommand 
  27.       Caption         =   "取消(&C)"
  28.       Height          =   300
  29.       Left            =   3690
  30.       TabIndex        =   7
  31.       Top             =   2190
  32.       Width           =   1120
  33.    End
  34.    Begin VB.CheckBox UnloadCheck 
  35.       Caption         =   "卸载窗体"
  36.       Height          =   615
  37.       Left            =   8250
  38.       TabIndex        =   10
  39.       Top             =   720
  40.       Visible         =   0   'False
  41.       Width           =   825
  42.    End
  43.    Begin VB.Frame Fra_Query 
  44.       ForeColor       =   &H00FF0000&
  45.       Height          =   2055
  46.       Left            =   60
  47.       TabIndex        =   8
  48.       Top             =   30
  49.       Width           =   4755
  50.       Begin VB.TextBox LrText 
  51.          Height          =   300
  52.          Index           =   0
  53.          Left            =   960
  54.          TabIndex        =   1
  55.          Text            =   "0"
  56.          Top             =   585
  57.          Width           =   3375
  58.       End
  59.       Begin VB.CommandButton Ydcommand1 
  60.          Height          =   300
  61.          Index           =   0
  62.          Left            =   4350
  63.          Picture         =   "辅助_客户_三栏明细帐查询条件.frx":1042
  64.          Style           =   1  'Graphical
  65.          TabIndex        =   12
  66.          Top             =   600
  67.          Visible         =   0   'False
  68.          Width           =   300
  69.       End
  70.       Begin VB.CheckBox Chk_QcZeroShow 
  71.          Caption         =   "查询会计期间期初数据如果为零是否显示"
  72.          Height          =   225
  73.          Left            =   120
  74.          TabIndex        =   5
  75.          Top             =   1710
  76.          Value           =   1  'Checked
  77.          Width           =   3555
  78.       End
  79.       Begin VB.ComboBox Combo_Kjqj 
  80.          ForeColor       =   &H00000000&
  81.          Height          =   300
  82.          Index           =   1
  83.          Left            =   2910
  84.          Style           =   2  'Dropdown List
  85.          TabIndex        =   3
  86.          Top             =   945
  87.          Width           =   1725
  88.       End
  89.       Begin VB.ComboBox Combo_Kjqj 
  90.          ForeColor       =   &H00000000&
  91.          Height          =   300
  92.          Index           =   0
  93.          Left            =   960
  94.          Style           =   2  'Dropdown List
  95.          TabIndex        =   2
  96.          Top             =   945
  97.          Width           =   1695
  98.       End
  99.       Begin VB.CheckBox Chk_NotBook 
  100.          Caption         =   "是否包含未记帐凭证"
  101.          Height          =   285
  102.          Left            =   120
  103.          TabIndex        =   4
  104.          Top             =   1350
  105.          Width           =   2145
  106.       End
  107.       Begin MSComctlLib.ImageCombo Imgebo_FzCcode 
  108.          Height          =   315
  109.          Left            =   960
  110.          TabIndex        =   0
  111.          Top             =   210
  112.          Width           =   3675
  113.          _ExtentX        =   6482
  114.          _ExtentY        =   556
  115.          _Version        =   393216
  116.          ForeColor       =   -2147483640
  117.          BackColor       =   -2147483643
  118.          Locked          =   -1  'True
  119.       End
  120.       Begin VB.Label Label1 
  121.          Caption         =   "往来客户:"
  122.          Height          =   255
  123.          Index           =   11
  124.          Left            =   120
  125.          TabIndex        =   13
  126.          Top             =   660
  127.          Width           =   825
  128.       End
  129.       Begin VB.Label Label1 
  130.          Caption         =   "会计科目:"
  131.          Height          =   255
  132.          Index           =   0
  133.          Left            =   120
  134.          TabIndex        =   11
  135.          Top             =   300
  136.          Width           =   825
  137.       End
  138.       Begin VB.Line Line1 
  139.          Index           =   1
  140.          X1              =   2670
  141.          X2              =   2910
  142.          Y1              =   1080
  143.          Y2              =   1080
  144.       End
  145.       Begin VB.Label Label1 
  146.          Caption         =   "会计期间:"
  147.          Height          =   255
  148.          Index           =   2
  149.          Left            =   120
  150.          TabIndex        =   9
  151.          Top             =   990
  152.          Width           =   825
  153.       End
  154.    End
  155. End
  156. Attribute VB_Name = "ZF_Kh_Frmslmxztj"
  157. Attribute VB_GlobalNameSpace = False
  158. Attribute VB_Creatable = False
  159. Attribute VB_PredeclaredId = True
  160. Attribute VB_Exposed = False
  161. '****************************************************************
  162. '*    模 块 名 称 :辅助核算_客户_科目明细帐查询条件
  163. '*    功 能 描 述 :
  164. '*    程序员姓名  :张建忠
  165. '*    最后修改人  :奚俊峰
  166. '*    最后修改时间:2001/12/22
  167. '*    备        注:程序中所有依实际情况自定义部分均用[>>  <<]括起
  168. '****************************************************************
  169. Dim Tsxx As String                       '系统信息提示
  170. '以下为固定使用变量(文本框)
  171. Dim Textvar() As Variant                 '存储变体型文本框信息
  172. Dim Textboolean() As Boolean             '存储布尔型文本框信息
  173. Dim Textint() As Integer                 '存储整型文本框信息
  174. Dim Textstr() As String                  '存储字符型文本框信息
  175. Dim Max_Text_Index As Integer            '最大录入文本框索引值
  176. Dim TextGroupCode As String              '文本框录入分组编码
  177. Dim TextValiLock As Boolean              '文本框失去焦点是否进行有效性控制判断
  178. Dim TextValiJudgeLock() As Boolean       '文本框录入有效性判断控制锁
  179. Dim CurTextIndex As Integer              '当前文本框索引值
  180. Dim TextChangeLock As Boolean            '文本框内容变换控制锁
  181. Dim Bln_Cancel As Boolean                '取消按钮信息传递
  182. Private Sub Form_KeyPress(KeyAscii As Integer)   '控 制 焦 点 转 移
  183.     Dim jdzygs As Integer                         '控件焦点转移个数
  184.     jdzygs = 30
  185.     Select Case KeyAscii
  186.     Case vbKeyReturn
  187.         If Kjjdzy(jdzygs) Then
  188.             KeyAscii = 0
  189.         End If
  190.     Case 39           '屏蔽"'"
  191.         KeyAscii = 0
  192.     End Select
  193. End Sub
  194. Private Sub Form_Load()
  195.     '辅助查询科目
  196.     Call FillImageCombo(Imgebo_FzCcode, "Cwzz_khwlkm", 0)
  197.     
  198.     '填充会计期间列表框(年度默认为用户选择年度)
  199.     Call Sub_FillPeriod(Combo_Kjqj(0), Xtyear, Xtmm)
  200.     Call Sub_FillPeriod(Combo_Kjqj(1), Xtyear, Xtmm)
  201.     
  202.     '以下为文本框处理程序
  203.     
  204.     TextGroupCode = "Cwzz_kh_slmxzcxtj"
  205.     Call Drwbkxx(TextGroupCode, Textvar(), Textboolean(), Textint(), Textstr())  '读入文本框录入信息
  206.     Call Wbkcsh
  207.     
  208. End Sub
  209. Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
  210.     If UnloadCheck.Value <> 1 Then
  211.         Cancel = 1
  212.         Me.Hide
  213.     End If
  214. End Sub
  215. Private Sub QdCommand_Click()                                   '确 定
  216.     '录入条件有效性判断
  217.     If Not Lrtjyxxpd Then
  218.         Exit Sub
  219.     End If
  220.     Me.Hide
  221.     
  222.     '激活查询过程
  223.     ZF_Kh_Frmslmxzjg.Timer1.Enabled = True
  224.     ZF_Kh_Frmslmxzjg.SetFocus
  225.     
  226. End Sub
  227. Private Sub QxCommand_Click()                                    '取消
  228.     Me.Hide
  229. End Sub
  230. Private Function Lrtjyxxpd() As Boolean                          '用户录入条件有效性判断
  231.     Dim Jsqte As Integer
  232.     Lrtjyxxpd = False
  233.     
  234.     '查询客户不能为空
  235.     If Trim(LrText(0).Text) = "" Then
  236.         Tsxx = "往来客户不能为空!"
  237.         Call Xtxxts(Tsxx, 0, 4)
  238.         LrText(0).SetFocus
  239.         Exit Function
  240.     End If
  241.     
  242.     '对需要进行事后判断的文本框录入内容进行有效性判断 (固定不变)
  243.     For Jsqte = 0 To Max_Text_Index
  244.         If Textint(Jsqte, 9) = 0 Or Textint(Jsqte, 9) = 2 Then
  245.             If Not TextYxxpd(Jsqte) Then
  246.                 Exit Function
  247.             End If
  248.         End If
  249.     Next Jsqte
  250.     
  251.     '[>>以下为依据实际情况自定义部分
  252.     
  253.     '查询会计期间范围应由小到大
  254.     If Trim(Combo_Kjqj(0).Text) > Trim(Combo_Kjqj(1).Text) Then
  255.         Tsxx = "查询会计期间范围应由小到大!"
  256.         Call Xtxxts(Tsxx, 0, 4)
  257.         Combo_Kjqj(0).SetFocus
  258.         Exit Function
  259.     End If
  260.     
  261.     '<<]以上为依据实际情况自定义部分
  262.     
  263.     Lrtjyxxpd = True
  264. End Function
  265. '************以下为文本框录入处理程序(固定不变部分)*************'
  266. Private Sub Wbklrwbcl(Index As Integer)    '文本框录入事后处理程序
  267.     
  268.     '以下为依据实际情况自定义部分[
  269.     
  270.     '在此填写文本框录入事后处理程序
  271.     
  272.     ']以上为依据实际情况自定义部分
  273. End Sub
  274. Private Sub LrText_Change(Index As Integer)
  275.     
  276.     '屏蔽程序改变控制
  277.     If TextChangeLock Then
  278.         Exit Sub
  279.     End If
  280.     
  281.     TextValiJudgeLock(Index) = False    '打开有效性判断锁
  282.     
  283.     '限制字段录入长度
  284.     
  285.     TextChangeLock = True  '加锁(防止执行Lrtext_Change)
  286.     Select Case Textint(Index, 1)
  287.     Case 8           '金额型
  288.         Call Sjgskz(LrText(Index), Xtjezws - Xtjexsws - 1, Xtjexsws)
  289.     Case 9           '数量型
  290.         Call Sjgskz(LrText(Index), Xtslzws - Xtslxsws - 1, Xtslxsws)
  291.     Case 10          '单价型
  292.         Call Sjgskz(LrText(Index), Xtdjzws - Xtdjxsws - 1, Xtdjxsws)
  293.     Case Else        '其他小数类型控制
  294.         If Textint(Index, 6) <> 0 Or Textint(Index, 7) <> 0 Then
  295.             Call Sjgskz(LrText(Index), Textint(Index, 6), Textint(Index, 7))
  296.         End If
  297.     End Select
  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.     Select Case KeyCode
  307.     Case vbKeyF2
  308.         Call Text_Help(Index)
  309.     End Select
  310. End Sub
  311. Private Sub LrText_KeyPress(Index As Integer, KeyAscii As Integer)                            '文本框录入事中控制
  312.     Call InputFieldLimit(LrText(Index), Textint(Index, 1), KeyAscii)
  313. End Sub
  314. Private Sub LrText_LostFocus(Index As Integer)                                                '文本框失去焦点进行有效性判断及相应处理
  315.     If Textint(Index, 9) = 0 Or Textint(Index, 9) = 1 Then '事中判断
  316.         Call TextYxxpd(Index)
  317.     End If
  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.     TextValiJudgeLock(Index) = True
  327.     
  328.     '先进行有效性判断
  329.     If Not TextYxxpd(CurTextIndex) Then
  330.         Exit Sub
  331.     End If
  332.     
  333.     Call Drbmhelp(Textint(Index, 2), Textstr(Index, 4), Trim(LrText(Index).Text))
  334.     
  335.     If Len(Xtfhcs) <> 0 Then
  336.         If Textint(Index, 3) = 1 Then
  337.             LrText(Index).Text = Xtfhcsfz
  338.             LrText(Index).Tag = Xtfhcs
  339.         Else
  340.             LrText(Index).Text = Xtfhcs
  341.             LrText(Index).Tag = Xtfhcsfz
  342.         End If
  343.         
  344.     End If
  345.     TextValiJudgeLock(Index) = False
  346.     LrText(Index).SetFocus
  347. End Sub
  348. Private Sub TextShow(Index As Integer)        '文本框得到焦点,显示相应信息
  349.     
  350.     '填写文本框得到焦点,进行相应信息处理程序
  351.     
  352. End Sub
  353. Private Sub Wbkcsh()                          '录入文本框初始化
  354.     Dim Jsqte As Integer
  355.     
  356.     '最大录入文本框索引值
  357.     Max_Text_Index = Textvar(1)
  358.     
  359.     ReDim TextValiJudgeLock(Max_Text_Index)
  360.     For Jsqte = 0 To Max_Text_Index
  361.         
  362.         If Len(Trim(Textstr(Jsqte, 1))) <> 0 Then
  363.             If Textboolean(Jsqte, 1) Then
  364.                 If Jsqte <> 0 And Not Textboolean(Jsqte, 3) Then
  365.                     Load Ydcommand1(Jsqte)
  366.                 End If
  367.                 Ydcommand1(Jsqte).Visible = True
  368.                 Ydcommand1(Jsqte).Move LrText(Jsqte).Left + LrText(Jsqte).Width, LrText(Jsqte).Top
  369.             End If
  370.             TextChangeLock = True
  371.             LrText(Jsqte).Text = ""
  372.             LrText(Jsqte).Tag = ""
  373.             If Textint(Jsqte, 5) <> 0 Then
  374.                 LrText(Jsqte).MaxLength = Textint(Jsqte, 5)
  375.             End If
  376.             
  377.             TextChangeLock = False
  378.         End If
  379.         TextValiJudgeLock(Jsqte) = True
  380.     Next Jsqte
  381. End Sub
  382. Private Function TextYxxpd(Index As Integer) As Boolean           '文本框有效性判断
  383.     Dim Sqlstr As String
  384.     Dim Findrec As ADODB.Recordset
  385.     If TextValiJudgeLock(Index) Then    '文本框内容未曾改变不进行有效性判断
  386.         TextYxxpd = True
  387.         Exit Function
  388.     End If
  389.     If Trim(LrText(Index)) = "" Then
  390.         LrText(Index).Tag = ""
  391.         Call Wbklrwbcl(Index)
  392.         TextValiJudgeLock(Index) = True
  393.         TextYxxpd = True
  394.         Exit Function
  395.     End If
  396.     Select Case Textint(Index, 4)
  397.     Case 1      '编码型
  398.         Sqlstr = Trim(Textstr(Index, 5))
  399.         Sqlstr = Replace(Sqlstr, "@", "'" + Trim(LrText(Index).Text) + "'")
  400.         Set Findrec = Cw_DataEnvi.DataConnect.Execute(Sqlstr)
  401.         If Findrec.EOF Then
  402.             Call Xtxxts(Trim(Textstr(Index, 6)), 0, 1)
  403.             LrText(Index).SetFocus
  404.             Exit Function
  405.         Else
  406.             Select Case Textint(Index, 3)
  407.             Case 0
  408.                 If Len(Trim(Textstr(Index, 2))) <> 0 Then
  409.                     LrText(Index).Text = Trim(Findrec.Fields(Trim(Textstr(Index, 2))))
  410.                 End If
  411.                 If Len(Trim(Textstr(Index, 3) & "")) <> 0 Then
  412.                     LrText(Index).Tag = Trim(Findrec.Fields(Trim(Textstr(Index, 3))))
  413.                 End If
  414.             Case 1
  415.                 If Len(Trim(Textstr(Index, 3) & "")) <> 0 Then
  416.                     LrText(Index).Text = Trim(Findrec.Fields(Trim(Textstr(Index, 3))))
  417.                 End If
  418.                 If Len(Trim(Textstr(Index, 2))) <> 0 Then
  419.                     LrText(Index).Tag = Trim(Findrec.Fields(Trim(Textstr(Index, 2))))
  420.                 End If
  421.             End Select
  422.         End If
  423.     Case 2      '日期型
  424.         If IsDate(LrText(Index).Text) Then
  425.             LrText(Index).Text = Format(LrText(Index).Text, "yyyy-mm-dd")
  426.         Else
  427.             Tsxx = "非法公历日期!(格式:" + Format(Date, "yyyy-mm-dd") + ")"
  428.             Call Xtxxts(Tsxx, 0, 1)
  429.             LrText(Index).SetFocus
  430.             Exit Function
  431.         End If
  432.     Case 3      '其他类型
  433.         
  434.     End Select
  435.     TextValiJudgeLock(Index) = True
  436.     TextYxxpd = True
  437. End Function