www.pudn.com > kelon.rar > Form1.frm


VERSION 5.00 
Begin VB.Form fInput  
   Caption         =   "固定数据录入 V1.01" 
   ClientHeight    =   5940 
   ClientLeft      =   60 
   ClientTop       =   345 
   ClientWidth     =   7905 
   BeginProperty Font  
      Name            =   "宋体" 
      Size            =   10.5 
      Charset         =   134 
      Weight          =   400 
      Underline       =   0   'False 
      Italic          =   0   'False 
      Strikethrough   =   0   'False 
   EndProperty 
   Icon            =   "Form1.frx":0000 
   LinkTopic       =   "Form1" 
   ScaleHeight     =   5940 
   ScaleWidth      =   7905 
   StartUpPosition =   3  'Windows Default 
   Begin VB.CommandButton comSave  
      Caption         =   "保存" 
      Enabled         =   0   'False 
      Height          =   360 
      Left            =   5115 
      TabIndex        =   1 
      Top             =   825 
      Width           =   1410 
   End 
   Begin VB.CommandButton comEnd  
      Caption         =   "关闭" 
      Height          =   360 
      Left            =   5115 
      TabIndex        =   2 
      Top             =   1245 
      Width           =   1410 
   End 
   Begin VB.PictureBox Picture1  
      Appearance      =   0  'Flat 
      AutoRedraw      =   -1  'True 
      BackColor       =   &H00C0C000& 
      BorderStyle     =   0  'None 
      ForeColor       =   &H80000008& 
      Height          =   675 
      Left            =   -75 
      ScaleHeight     =   675 
      ScaleWidth      =   7935 
      TabIndex        =   0 
      Top             =   15 
      Width           =   7935 
      Begin VB.Label Label2  
         AutoSize        =   -1  'True 
         BackStyle       =   0  'Transparent 
         Caption         =   "基础数据补录" 
         BeginProperty Font  
            Name            =   "宋体" 
            Size            =   26.25 
            Charset         =   134 
            Weight          =   400 
            Underline       =   0   'False 
            Italic          =   0   'False 
            Strikethrough   =   0   'False 
         EndProperty 
         Height          =   525 
         Left            =   1215 
         TabIndex        =   5 
         Top             =   60 
         Width           =   3150 
      End 
   End 
   Begin VB.TextBox Text1  
      BeginProperty Font  
         Name            =   "宋体" 
         Size            =   10.5 
         Charset         =   0 
         Weight          =   400 
         Underline       =   0   'False 
         Italic          =   0   'False 
         Strikethrough   =   0   'False 
      EndProperty 
      Height          =   330 
      Index           =   0 
      Left            =   1335 
      TabIndex        =   3 
      Top             =   840 
      Width           =   3555 
   End 
   Begin VB.Label Label1  
      AutoSize        =   -1  'True 
      BackStyle       =   0  'Transparent 
      Caption         =   "Ocean" 
      BeginProperty Font  
         Name            =   "宋体" 
         Size            =   10.5 
         Charset         =   0 
         Weight          =   400 
         Underline       =   0   'False 
         Italic          =   0   'False 
         Strikethrough   =   0   'False 
      EndProperty 
      ForeColor       =   &H00000000& 
      Height          =   210 
      Index           =   0 
      Left            =   150 
      TabIndex        =   4 
      Top             =   930 
      Width           =   525 
   End 
End 
Attribute VB_Name = "fInput" 
Attribute VB_GlobalNameSpace = False 
Attribute VB_Creatable = False 
Attribute VB_PredeclaredId = True 
Attribute VB_Exposed = False 
Option Explicit 
'Private Const LocFileName = "\res\lz_kl_show.ini" 
'位置: 20,21,22,23,24,25,26 
Dim nrs As New ADODB.Recordset 
 
Dim UID As Long 
Dim fieldcount As Long 
Dim fielditem() As Long 
Dim isstart As Boolean 
Dim pNoAutoChang As Boolean 
 
Private Sub initCover() 
    '得到当前的角色 
    UID = mod01.pGetString(MOd02.iniFn, "input", "currloc") 
    '得到能录入的项目 
    Dim ls As String 
    Dim arry As Variant 
    Dim I As Long 
    ls = mod01.pGetString(MOd02.iniFn, "input", "loc" + Format(UID, "00")) 
    arry = Split(ls, ",") 
    fieldcount = UBound(arry) 
    ReDim fielditem(fieldcount) 
    ReDim Maintb(fieldcount) 
    For I = 0 To fieldcount 
        fielditem(I) = Val(arry(I)) 
        Maintb(I).label = mod01.pGetString(MOd02.iniFn, "field", "item" + Format(fielditem(I), "00")) 
        Maintb(I).field = mod01.pGetString(MOd02.iniFn, "field", "field" + Format(fielditem(I), "00")) 
        If I <> 0 Then 
            Load Text1(I) 
            Load Label1(I) 
            Text1(I).Top = Text1(I - 1).Top + Text1(I - 1).Height 
            Label1(I).Top = Label1(I - 1).Top + Text1(I - 1).Height 
        End If 
        Label1(I).Caption = Maintb(I).label 
        Label1(I).Tag = Maintb(I).field 
    Next 
    For I = 0 To fieldcount 
        Text1(I).Visible = True 
        Label1(I).Visible = True 
    Next 
End Sub 
 
Private Sub comEnd_Click() 
    Unload Me 
End Sub 
 
 
 
Private Sub comSave_Click() 
    Dim I As Long 
    Dim sKey As String 
    For I = 0 To fieldcount 
        If Text1(I).ForeColor = frmColor(0) Then 
            Text1(I).ForeColor = frmColor(1) 
        End If 
        If Label1(I).Tag = "MT02" Then sKey = Text1(I).Text 
        If Label1(I).Tag = "MT11" Then MtBase.MT11 = Text1(I).Text 
        If Label1(I).Tag = "MT12" Then MtBase.MT12 = Text1(I).Text 
        If Label1(I).Tag = "MT13" Then MtBase.MT13 = Text1(I).Text 
        If Label1(I).Tag = "MT14" Then MtBase.MT14 = Text1(I).Text 
        If Label1(I).Tag = "MT09" Then MtBase.MT09 = Text1(I).Text 
        If Label1(I).Tag = "MT10" Then MtBase.MT10 = Text1(I).Text 
    Next 
    If pSaveData(sKey) Then 
        MsgBox "记录已" + "保存" + ".", 48, "提示" 
    End If 
End Sub 
 
Private Sub Form_Activate() 
    Text1(0).SetFocus 
End Sub 
 
Private Sub Form_Load() 
    If App.PrevInstance Then 
        If App.Title = Me.Caption Then 
'        MsgBox ("注意:程序已经运行,不能再次装载。"), vbExclamation 
            End 
        End If 
    End If 
    isstart = True 
    Call GetIniFileName 
    Call OpenODBC(Cn_Des, "ConnectionString001") '打开数据库 
     
    Call pubGetColor(0) 
    Call initCover 
    isstart = False 
    Call SetobjLoc(Me, 20 + UID) 
End Sub 
 
Private Sub Form_Terminate() 
    On Error Resume Next 
    Cn_Des.Close 
End Sub 
 
Private Sub Form_Unload(Cancel As Integer) 
    Call SaveobjLoc(Me, 20 + UID) 
End Sub 
 
Private Sub Text1_Change(Index As Integer) 
    If isstart Then Exit Sub 
    If pNoAutoChang Then Exit Sub 
    Text1(Index).ForeColor = frmColor(0) 
End Sub 
 
Private Sub Text1_GotFocus(Index As Integer) 
    Text1(Index).BackColor = frmColor(2) 
End Sub 
 
Private Sub Text1_KeyPress(Index As Integer, KeyAscii As Integer) 
    If KeyAscii = 13 Then 
        If Index = fieldcount Then 
            comEnd.SetFocus 
        Else 
            SendKeys "{tab}" 
        End If 
    End If 
End Sub 
 
Private Sub Text1_LostFocus(Index As Integer) 
    Text1(Index).BackColor = frmColor(3) 
    If Text1(Index).Tag = Text1(Index).Text Then 
    Else 
        Text1(Index).ToolTipText = "该项上一次值为: " & Text1(Index).Tag 
        Text1(Index).Tag = Text1(Index).Text 
    End If 
    '查询记录 
    If Label1(Index).Tag = "MT02" Then 
        Call pShowData(Index) 
    End If 
End Sub 
 
Private Sub pShowData(ByVal Index As Long) 
    Dim bgetdata As Boolean: bgetdata = False 
    Dim sSql As String 
    Dim I As Long 
    '存在, 则取数, 不存在, 提醒 
    sSql = pGetString(iniFn, "SQLstring", "Select00") 
    sSql = "SELECT " & sSql 
    sSql = Replace(sSql, "@1@", Text1(Index).Text) 
    If Text1(Index).Text = "" Then Exit Sub 
    nrs.Open sSql, Cn_Des, , , adCmdText 
    On Error GoTo err 
    With MtBase 
        .MT02 = nrs.Fields(0).Value 
        .MT11 = nrs.Fields(1).Value 
        .MT12 = nrs.Fields(2).Value 
        .MT13 = nrs.Fields(3).Value 
        .MT14 = nrs.Fields(4).Value 
        .MT09 = nrs.Fields(5).Value 
        .MT10 = nrs.Fields(6).Value 
        bgetdata = True 
    On Error GoTo 0 
err: 
    nrs.Close 
    '显示数据 
    pNoAutoChang = True 
    If bgetdata Then 
        For I = 0 To fieldcount 
            If Label1(I).Tag = "MT02" Then Text1(I).Text = .MT02 
            If Label1(I).Tag = "MT11" Then Text1(I).Text = .MT11 
            If Label1(I).Tag = "MT12" Then Text1(I).Text = .MT12 
            If Label1(I).Tag = "MT13" Then Text1(I).Text = .MT13 
            If Label1(I).Tag = "MT14" Then Text1(I).Text = .MT14 
            If Label1(I).Tag = "MT09" Then Text1(I).Text = .MT09 
            If Label1(I).Tag = "MT10" Then Text1(I).Text = .MT10 
        Next 
    End If 
    pNoAutoChang = False 
    End With 
    comSave.Enabled = bgetdata 
End Sub 
Private Function pSaveData(ByVal m02 As String) As Boolean 
    Dim sSql As String 
    sSql = pGetString(iniFn, "SQLstring", "update00") 
    sSql = "update " & sSql 
    On Error GoTo err 
    pSaveData = False 
    With MtBase 
        sSql = Replace(sSql, "@1@", .MT02) 
        sSql = Replace(sSql, "@2@", .MT11) 
        sSql = Replace(sSql, "@3@", .MT12) 
        sSql = Replace(sSql, "@4@", .MT13) 
        sSql = Replace(sSql, "@5@", .MT14) 
        sSql = Replace(sSql, "@6@", .MT09) 
        sSql = Replace(sSql, "@7@", .MT10) 
        pSaveData = True 
        Call Cn_Des.Execute(sSql) 
    End With 
    On Error GoTo 0 
err: 
End Function