⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 traderecord.frm

📁 这个是我以前做的一个客户管理系统.包内已经含有源码和所用到的控件.代码是用VB写的,数据库采用MSSQL的.
💻 FRM
字号:
VERSION 5.00
Object = "{86CF1D34-0C5F-11D2-A9FC-0000F8754DA1}#2.0#0"; "MSCOMCT2.OCX"
Begin VB.Form frmTradeRecord 
   BorderStyle     =   3  'Fixed Dialog
   Caption         =   "历史交易记录"
   ClientHeight    =   5100
   ClientLeft      =   45
   ClientTop       =   330
   ClientWidth     =   4455
   Icon            =   "TradeRecord.frx":0000
   LinkTopic       =   "Form1"
   LockControls    =   -1  'True
   MaxButton       =   0   'False
   MinButton       =   0   'False
   ScaleHeight     =   5100
   ScaleWidth      =   4455
   ShowInTaskbar   =   0   'False
   Begin VB.Frame Frame1 
      Height          =   4485
      Left            =   60
      TabIndex        =   14
      Top             =   0
      Width           =   4335
      Begin VB.TextBox txtMemo 
         Height          =   315
         Left            =   1200
         TabIndex        =   10
         Text            =   "Text9"
         Top             =   4050
         Width           =   2925
      End
      Begin VB.TextBox txtNextPrice 
         Height          =   315
         Left            =   1200
         TabIndex        =   9
         Text            =   "Text8"
         Top             =   3630
         Width           =   2925
      End
      Begin VB.TextBox txtPrePrice 
         Height          =   315
         Left            =   1200
         TabIndex        =   8
         Text            =   "Text7"
         Top             =   3195
         Width           =   2925
      End
      Begin VB.TextBox txtCount 
         Height          =   315
         Left            =   1200
         TabIndex        =   7
         Text            =   "Text6"
         Top             =   2775
         Width           =   2925
      End
      Begin VB.TextBox txtPrice 
         Height          =   315
         Left            =   1200
         TabIndex        =   6
         Text            =   "Text5"
         Top             =   2355
         Width           =   2925
      End
      Begin VB.TextBox txtGuiGe 
         Height          =   315
         Left            =   1200
         TabIndex        =   4
         Text            =   "Text3"
         Top             =   1515
         Width           =   2925
      End
      Begin VB.TextBox txtNo 
         Height          =   315
         Left            =   1200
         TabIndex        =   3
         Text            =   "Text2"
         Top             =   1080
         Width           =   2925
      End
      Begin VB.TextBox txtName 
         Enabled         =   0   'False
         Height          =   315
         Left            =   1200
         TabIndex        =   0
         Text            =   "Text1"
         Top             =   240
         Width           =   2505
      End
      Begin VB.CommandButton cmdChose 
         Caption         =   "..."
         BeginProperty Font 
            Name            =   "Arial"
            Size            =   9
            Charset         =   0
            Weight          =   700
            Underline       =   0   'False
            Italic          =   0   'False
            Strikethrough   =   0   'False
         EndProperty
         Height          =   345
         Left            =   3780
         TabIndex        =   1
         Top             =   240
         Width           =   345
      End
      Begin MSComCtl2.DTPicker dtpDate 
         Height          =   315
         Left            =   1200
         TabIndex        =   2
         Top             =   660
         Width           =   1695
         _ExtentX        =   2990
         _ExtentY        =   556
         _Version        =   393216
         Format          =   30146560
         CurrentDate     =   37642
      End
      Begin VB.TextBox txtType 
         Height          =   315
         Left            =   1200
         TabIndex        =   5
         Text            =   "Text4"
         Top             =   1935
         Width           =   2925
      End
      Begin VB.Label Label10 
         Caption         =   "备注:"
         Height          =   315
         Left            =   240
         TabIndex        =   24
         Top             =   4020
         Width           =   975
      End
      Begin VB.Label Label9 
         Caption         =   "成交价格:"
         Height          =   315
         Left            =   240
         TabIndex        =   23
         Top             =   3615
         Width           =   975
      End
      Begin VB.Label Label8 
         Caption         =   "接洽价格:"
         Height          =   315
         Left            =   240
         TabIndex        =   22
         Top             =   3225
         Width           =   975
      End
      Begin VB.Label Label7 
         Caption         =   "数量:"
         Height          =   315
         Left            =   240
         TabIndex        =   21
         Top             =   2820
         Width           =   975
      End
      Begin VB.Label Label6 
         Caption         =   "单价:"
         Height          =   315
         Left            =   240
         TabIndex        =   20
         Top             =   2415
         Width           =   975
      End
      Begin VB.Label Label5 
         Caption         =   "型号:"
         Height          =   315
         Left            =   240
         TabIndex        =   19
         Top             =   2025
         Width           =   975
      End
      Begin VB.Label Label4 
         Caption         =   "规格:"
         Height          =   315
         Left            =   240
         TabIndex        =   18
         Top             =   1620
         Width           =   975
      End
      Begin VB.Label Label3 
         Caption         =   "单号:"
         Height          =   315
         Left            =   240
         TabIndex        =   17
         Top             =   1215
         Width           =   975
      End
      Begin VB.Label Label2 
         Caption         =   "日期:"
         Height          =   435
         Left            =   240
         TabIndex        =   16
         Top             =   705
         Width           =   975
      End
      Begin VB.Label Label1 
         Caption         =   "客户名称:"
         Height          =   315
         Left            =   240
         TabIndex        =   15
         Top             =   300
         Width           =   975
      End
   End
   Begin VB.CommandButton cmdClose 
      Caption         =   "关闭"
      Height          =   345
      Left            =   3000
      TabIndex        =   13
      Top             =   4650
      Width           =   1245
   End
   Begin VB.CommandButton cmdSaveClose 
      Caption         =   "保存并关闭"
      Height          =   345
      Left            =   1680
      TabIndex        =   12
      Top             =   4650
      Width           =   1245
   End
   Begin VB.CommandButton cmdSaveNew 
      Caption         =   "保存并新建"
      Height          =   345
      Left            =   270
      TabIndex        =   11
      Top             =   4650
      Width           =   1245
   End
End
Attribute VB_Name = "frmTradeRecord"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit
Public mbAdd    As Boolean
Public mTRID     As Long

Private Function mbSaveTradeRecord() As Boolean
'**********************************************
'
'保存当前的单据
'
'**********************************************
    Dim sSql            As String
    Dim Rs              As New ADODB.Recordset
    Dim lID             As Long
    On Error GoTo ErrSave
    
    '检验数据正确性
    If mbCheckOk() = False Then mbSaveTradeRecord = False: Exit Function
    
    Screen.MousePointer = vbHourglass
    
    Rs.Open "Select max(TR_ID) from TradeRecord", CN
    If IsNull(Rs.Fields(0)) Then
        lID = 1
    Else
        lID = CLng(Rs.Fields(0)) + 1
    End If
    Rs.Close
    
    If mbAdd = False Then
       sSql = "Delete from TradeRecord where TR_ID=" & mTRID
       sSql = sSql & vbCrLf & "Insert TradeRecord (TR_ID,TR_AID,TR_Date,TR_InvoiceNo,TR_Specs,TR_Type,TR_Price,TR_Count,TR_PrePrice,TR_AftPrice,TR_Memo) values("
       sSql = sSql & mTRID & ","
       sSql = sSql & txtName.Tag & ",'"
       sSql = sSql & Format(dtpDate.Value, "yyyy-mm-dd") & "','"
       sSql = sSql & DoubleQuote(txtNo.Text) & "','"
       sSql = sSql & DoubleQuote(txtGuiGe.Text) & "','"
       sSql = sSql & DoubleQuote(txtType.Text) & "',"
       sSql = sSql & Val(txtPrice.Text) & ","
       sSql = sSql & Val(txtCount.Text) & ","
       sSql = sSql & Val(txtPrePrice.Text) & ","
       sSql = sSql & Val(txtNextPrice.Text) & ",'"
       sSql = sSql & DoubleQuote(txtMemo.Text) & "')"
    
    Else
       sSql = "Insert TradeRecord (TR_ID,TR_AID,TR_Date,TR_InvoiceNo,TR_Specs,TR_Type,TR_Price,TR_Count,TR_PrePrice,TR_AftPrice,TR_Memo) values("
       sSql = sSql & lID & ","
       sSql = sSql & txtName.Tag & ",'"
       sSql = sSql & Format(dtpDate.Value, "yyyy-mm-dd") & "','"
       sSql = sSql & DoubleQuote(txtNo.Text) & "','"
       sSql = sSql & DoubleQuote(txtGuiGe.Text) & "','"
       sSql = sSql & DoubleQuote(txtType.Text) & "',"
       sSql = sSql & Val(txtPrice.Text) & ","
       sSql = sSql & Val(txtCount.Text) & ","
       sSql = sSql & Val(txtPrePrice.Text) & ","
       sSql = sSql & Val(txtNextPrice.Text) & ",'"
       sSql = sSql & DoubleQuote(txtMemo.Text) & "')"
    End If
    If sSql <> "" Then
        CN.Execute sSql
        mbSaveTradeRecord = True
    Else
        mbSaveTradeRecord = False
    End If
    
    Screen.MousePointer = vbDefault
    Exit Function
ErrSave:
    Screen.MousePointer = vbDefault
    mbSaveTradeRecord = False
    gShowMsg "保存交易记录时出错 frmTradeRecord.mbSaveTradeRecord"
End Function


Private Function mbCheckOk() As Boolean
'**********************************************
'
'校验输入内容的合法性
'
'**********************************************
    Dim sSql            As String
    Dim Rs              As New ADODB.Recordset
    
    On Error GoTo ErrCheckOk
    
    If txtName.Tag = "" Then
        MsgBox "请选择客户名称!!!", vbInformation, ""
        mbCheckOk = False
        Exit Function
    Else
        mbCheckOk = True
    End If
    
    Exit Function
ErrCheckOk:
    Screen.MousePointer = vbDefault
    mbCheckOk = False
    gShowMsg "校验交易记录出错 frmTradeRecord.mbCheckOK"
    
End Function



Private Function mbShowOldTradeRecord() As Boolean
'***********************************************
'
'显示要修改交易记录
'
'***********************************************
    Dim sSql            As String
    Dim Rs              As New ADODB.Recordset
    Dim iRow            As Integer
    
    On Error GoTo ErrShowOldTradeRecord
    
    sSql = "Select TR_ID,CT.CT_Name,TR_AID,TR_Date,TR_InvoiceNo,TR_Specs,TR_Type,TR_Price,TR_Count,TR_PrePrice,TR_AftPrice,TR_Memo"
    sSql = sSql & vbCrLf & " from TradeRecord TR  inner join Customers CT on CT.CT_AID=TR.TR_AID"
    sSql = sSql & vbCrLf & " where TR_ID = " & mTRID
    Screen.MousePointer = vbHourglass
    Rs.Open sSql, CN
    Screen.MousePointer = vbDefault
    
    '客户名称
    txtName.Text = IIf(IsNull(Rs.Fields!CT_Name), "", Rs.Fields!CT_Name)
    txtName.Tag = IIf(IsNull(Rs.Fields!TR_AID), 0, Rs.Fields!TR_AID)
    '日期
    dtpDate.Value = Format(IIf(IsNull(Rs.Fields!TR_Date), Now, Rs.Fields!TR_Date), "yyyy-mm-dd")
    '单据号
    txtNo = IIf(IsNull(Rs.Fields!TR_InvoiceNo), "", Rs.Fields!TR_InvoiceNo)
    '规格
    txtGuiGe.Text = IIf(IsNull(Rs.Fields!TR_Specs), "", Rs.Fields!TR_Specs)
    '型号
    txtType = IIf(IsNull(Rs.Fields!TR_Type), "", Rs.Fields!TR_Type)
    '单价
    txtPrice = IIf(IsNull(Rs.Fields!TR_Price), "0.00", Format(Rs.Fields!TR_Price, "0.00"))
    '数据量
    txtCount = IIf(IsNull(Rs.Fields!TR_Count), "0", Format(Rs.Fields!TR_Count, "0.00"))
    '接洽价
    txtPrePrice = IIf(IsNull(Rs.Fields!TR_PrePrice), "0", Format(Rs.Fields!TR_PrePrice, "0.00"))
    '成交价
    txtNextPrice = IIf(IsNull(Rs.Fields!TR_AftPrice), "0.00", Format(Rs.Fields!TR_AftPrice, "0.00"))
    '备注
    txtMemo.Text = IIf(IsNull(Rs.Fields!TR_Memo), "", Rs.Fields!TR_Memo)
    
    mbShowOldTradeRecord = True
    Exit Function

ErrShowOldTradeRecord:
    Screen.MousePointer = vbDefault
    mbShowOldTradeRecord = False
    gShowMsg "显示要修改的交易记录时出错 frmTradeRecord.mbShowOldTradeRecord"
    
End Function


Private Sub mClear()
'清空控件的值
    
    txtName.Text = ""
    txtName.Tag = ""
    dtpDate.Value = Now
    txtNo.Text = ""
    txtGuiGe.Text = ""
    txtType.Text = ""
    txtPrice.Text = ""
    txtCount.Text = ""
    txtPrePrice.Text = ""
    txtNextPrice.Text = ""
    txtMemo.Text = ""
    

End Sub

Private Sub cmdChose_Click()
    frmSearchArch.Show vbModal
    If frmSearchArch.mArchiveID <> 0 Then
        txtName.Text = frmSearchArch.mCustomerName
        txtName.Tag = frmSearchArch.mArchiveID
    End If
    Unload frmSearchArch
End Sub

Private Sub cmdClose_Click()
    Unload Me
End Sub

Private Sub cmdSaveClose_Click()
    If mbSaveTradeRecord Then
        Call SendMessageToCtl(frmMain.vsf, WM_KEYDOWN, VK_F5, 0)
        Call mClear
        Unload Me
    End If
End Sub

Private Sub cmdSaveNew_Click()
    If mbSaveTradeRecord Then
        Call SendMessageToCtl(frmMain.vsf, WM_KEYDOWN, VK_F5, 0)
        Call mClear
    End If
    
End Sub

Private Sub Form_KeyPress(KeyAscii As Integer)
    If KeyAscii = vbKeyReturn Then
        KeyAscii = 0
        SendKeys "{tab}"
    ElseIf KeyAscii = vbKeyEscape Then
        KeyAscii = 0
        Unload Me
    End If
End Sub

Private Sub Form_Load()
    Center Me
    Me.KeyPreview = True
    Call mClear
    If mbAdd = False Then
        cmdSaveNew.Enabled = False
        Call mbShowOldTradeRecord
    End If
    
End Sub


Private Sub txtCount_KeyPress(KeyAscii As Integer)
    KeyAscii = gNumericKey(KeyAscii, True)
End Sub

Private Sub txtNextPrice_KeyPress(KeyAscii As Integer)
    KeyAscii = gNumericKey(KeyAscii, True)
End Sub

Private Sub txtPrePrice_KeyPress(KeyAscii As Integer)
    KeyAscii = gNumericKey(KeyAscii, True)
End Sub

Private Sub txtPrice_KeyPress(KeyAscii As Integer)
    KeyAscii = gNumericKey(KeyAscii, True)
End Sub

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -