主mainfrm
Imports
System.Data.SqlClient
Imports CrystalDecisions.CrystalReports.Engine
Imports CrystalDecisions.Shared
Imports System.Drawing.Printing
Public Class MainFrm Class MainFrm
Inherits System.Windows.Forms.Form
Dim crReportDocument As CrystalReport1
Public frmReport As New frmReport
Windows Form 設計工具產生的程式碼#Region " Windows Form 設計工具產生的程式碼 "
Public Sub New()Sub New()
MyBase.New()
'此為 Windows Form 設計工具所需的呼叫。
InitializeComponent()
'在 InitializeComponent() 呼叫之後加入所有的初始設定
End Sub
'Form 覆寫 Dispose 以清除元件清單。
Protected Overloads Overrides Sub Dispose()Sub Dispose(ByVal disposing As Boolean)
If disposing Then
If Not (components Is Nothing) Then
components.Dispose()
End If
End If
MyBase.Dispose(disposing)
End Sub
'為 Windows Form 設計工具的必要項
Private components As System.ComponentModel.IContainer
'注意: 以下為 Windows Form 設計工具所需的程序
'您可以使用 Windows Form 設計工具進行修改。
'請勿使用程式碼編輯器來修改這些程序。
Friend WithEvents Label1 As System.Windows.Forms.Label
Friend WithEvents Label2 As System.Windows.Forms.Label
Friend WithEvents Label3 As System.Windows.Forms.Label
Friend WithEvents Label4 As System.Windows.Forms.Label
Friend WithEvents Label5 As System.Windows.Forms.Label
Friend WithEvents TextBox1 As System.Windows.Forms.TextBox
Friend WithEvents TextBox2 As System.Windows.Forms.TextBox
Friend WithEvents TextBox3 As System.Windows.Forms.TextBox
Friend WithEvents TextBox4 As System.Windows.Forms.TextBox
Friend WithEvents TextBox5 As System.Windows.Forms.TextBox
Friend WithEvents TextBox6 As System.Windows.Forms.TextBox
Friend WithEvents Label6 As System.Windows.Forms.Label
Friend WithEvents TextBox7 As System.Windows.Forms.TextBox
Friend WithEvents TextBox8 As System.Windows.Forms.TextBox
Friend WithEvents TextBox9 As System.Windows.Forms.TextBox
Friend WithEvents TextBox10 As System.Windows.Forms.TextBox
Friend WithEvents Label7 As System.Windows.Forms.Label
Friend WithEvents Label8 As System.Windows.Forms.Label
Friend WithEvents Label9 As System.Windows.Forms.Label
Friend WithEvents Label10 As System.Windows.Forms.Label
Friend WithEvents Button1 As System.Windows.Forms.Button
Friend WithEvents Button2 As System.Windows.Forms.Button
Friend WithEvents Button3 As System.Windows.Forms.Button
Friend WithEvents TextBox11 As System.Windows.Forms.TextBox
Friend WithEvents TextBox12 As System.Windows.Forms.TextBox
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()Sub InitializeComponent()
Me.Label1 = New System.Windows.Forms.Label
Me.Label2 = New System.Windows.Forms.Label
Me.Label3 = New System.Windows.Forms.Label
Me.Label4 = New System.Windows.Forms.Label
Me.Label5 = New System.Windows.Forms.Label
Me.TextBox1 = New System.Windows.Forms.TextBox
Me.TextBox2 = New System.Windows.Forms.TextBox
Me.TextBox3 = New System.Windows.Forms.TextBox
Me.TextBox4 = New System.Windows.Forms.TextBox
Me.TextBox5 = New System.Windows.Forms.TextBox
Me.TextBox6 = New System.Windows.Forms.TextBox
Me.Label6 = New System.Windows.Forms.Label
Me.TextBox7 = New System.Windows.Forms.TextBox
Me.TextBox8 = New System.Windows.Forms.TextBox
Me.TextBox9 = New System.Windows.Forms.TextBox
Me.TextBox10 = New System.Windows.Forms.TextBox
Me.Label7 = New System.Windows.Forms.Label
Me.Label8 = New System.Windows.Forms.Label
Me.Label9 = New System.Windows.Forms.Label
Me.Label10 = New System.Windows.Forms.Label
Me.Button1 = New System.Windows.Forms.Button
Me.Button2 = New System.Windows.Forms.Button
Me.Button3 = New System.Windows.Forms.Button
Me.TextBox11 = New System.Windows.Forms.TextBox
Me.TextBox12 = New System.Windows.Forms.TextBox
Me.SuspendLayout()
'
'Label1
'
Me.Label1.Location = New System.Drawing.Point(0, 0)
Me.Label1.Name = "Label1"
Me.Label1.TabIndex = 0
Me.Label1.Text = "寄件客戶代號"
'
'Label2
'
Me.Label2.Location = New System.Drawing.Point(0, 48)
Me.Label2.Name = "Label2"
Me.Label2.TabIndex = 1
Me.Label2.Text = "聯絡人"
'
'Label3
'
Me.Label3.Location = New System.Drawing.Point(192, 48)
Me.Label3.Name = "Label3"
Me.Label3.TabIndex = 2
Me.Label3.Text = "電話"
'
'Label4
'
Me.Label4.Location = New System.Drawing.Point(360, 48)
Me.Label4.Name = "Label4"
Me.Label4.TabIndex = 3
Me.Label4.Text = "地區代號"
'
'Label5
'
Me.Label5.Location = New System.Drawing.Point(0, 104)
Me.Label5.Name = "Label5"
Me.Label5.TabIndex = 4
Me.Label5.Text = "地址"
'
'TextBox1
'
Me.TextBox1.Location = New System.Drawing.Point(0, 16)
Me.TextBox1.MaxLength = 7
Me.TextBox1.Name = "TextBox1"
Me.TextBox1.TabIndex = 5
Me.TextBox1.Text = "Tbx1"
'
'TextBox2
'
Me.TextBox2.Location = New System.Drawing.Point(136, 16)
Me.TextBox2.Name = "TextBox2"
Me.TextBox2.Size = New System.Drawing.Size(368, 22)
Me.TextBox2.TabIndex = 6
Me.TextBox2.Text = "TextBox2"
'
'TextBox3
'
Me.TextBox3.Location = New System.Drawing.Point(56, 40)
Me.TextBox3.Name = "TextBox3"
Me.TextBox3.TabIndex = 7
Me.TextBox3.Text = "TextBox3"
'
'TextBox4
'
Me.TextBox4.Location = New System.Drawing.Point(240, 48)
Me.TextBox4.Name = "TextBox4"
Me.TextBox4.TabIndex = 8
Me.TextBox4.Text = "TextBox4"
'
'TextBox5
'
Me.TextBox5.Location = New System.Drawing.Point(424, 48)
Me.TextBox5.Name = "TextBox5"
Me.TextBox5.TabIndex = 9
Me.TextBox5.Text = "TextBox5"
'
'TextBox6
'
Me.TextBox6.Location = New System.Drawing.Point(40, 104)
Me.TextBox6.Name = "TextBox6"
Me.TextBox6.Size = New System.Drawing.Size(608, 22)
Me.TextBox6.TabIndex = 10
Me.TextBox6.Text = "TextBox6"
'
'Label6
'
Me.Label6.Location = New System.Drawing.Point(0, 168)
Me.Label6.Name = "Label6"
Me.Label6.TabIndex = 11
Me.Label6.Text = "收件客戶代號"
'
'TextBox7
'
Me.TextBox7.Location = New System.Drawing.Point(48, 296)
Me.TextBox7.Name = "TextBox7"
Me.TextBox7.Size = New System.Drawing.Size(608, 22)
Me.TextBox7.TabIndex = 19
Me.TextBox7.Text = "TextBox7"
'
'TextBox8
'
Me.TextBox8.Location = New System.Drawing.Point(432, 240)
Me.TextBox8.Name = "TextBox8"
Me.TextBox8.TabIndex = 18
Me.TextBox8.Text = "TextBox8"
'
'TextBox9
'
Me.TextBox9.Location = New System.Drawing.Point(248, 240)
Me.TextBox9.Name = "TextBox9"
Me.TextBox9.TabIndex = 17
Me.TextBox9.Text = "TextBox9"
'
'TextBox10
'
Me.TextBox10.Location = New System.Drawing.Point(64, 232)
Me.TextBox10.Name = "TextBox10"
Me.TextBox10.TabIndex = 16
Me.TextBox10.Text = "TextBox10"
'
'Label7
'
Me.Label7.Location = New System.Drawing.Point(8, 296)
Me.Label7.Name = "Label7"
Me.Label7.TabIndex = 15
Me.Label7.Text = "地址"
'
'Label8
'
Me.Label8.Location = New System.Drawing.Point(368, 240)
Me.Label8.Name = "Label8"
Me.Label8.TabIndex = 14
Me.Label8.Text = "地區代號"
'
'Label9
'
Me.Label9.Location = New System.Drawing.Point(200, 240)
Me.Label9.Name = "Label9"
Me.Label9.TabIndex = 13
Me.Label9.Text = "電話"
'
'Label10
'
Me.Label10.Location = New System.Drawing.Point(8, 240)
Me.Label10.Name = "Label10"
Me.Label10.TabIndex = 12
Me.Label10.Text = "聯絡人"
'
'Button1
'
Me.Button1.Location = New System.Drawing.Point(160, 352)
Me.Button1.Name = "Button1"
Me.Button1.TabIndex = 20
Me.Button1.Text = "打印"
'
'Button2
'
Me.Button2.Location = New System.Drawing.Point(288, 352)
Me.Button2.Name = "Button2"
Me.Button2.TabIndex = 21
Me.Button2.Text = "打印預覽"
'
'Button3
'
Me.Button3.Location = New System.Drawing.Point(424, 352)
Me.Button3.Name = "Button3"
Me.Button3.TabIndex = 22
Me.Button3.Text = "退出"
'
'TextBox11
'
Me.TextBox11.Location = New System.Drawing.Point(136, 200)
Me.TextBox11.Name = "TextBox11"
Me.TextBox11.Size = New System.Drawing.Size(368, 22)
Me.TextBox11.TabIndex = 24
Me.TextBox11.Text = "TextBox11"
'
'TextBox12
'
Me.TextBox12.Location = New System.Drawing.Point(0, 200)
Me.TextBox12.MaxLength = 7
Me.TextBox12.Name = "TextBox12"
Me.TextBox12.TabIndex = 23
Me.TextBox12.Text = "TextBox12"
'
'MainFrm
'
Me.AutoScaleBaseSize = New System.Drawing.Size(5, 15)
Me.ClientSize = New System.Drawing.Size(664, 413)
Me.Controls.Add(Me.TextBox11)
Me.Controls.Add(Me.TextBox12)
Me.Controls.Add(Me.Button3)
Me.Controls.Add(Me.Button2)
Me.Controls.Add(Me.Button1)
Me.Controls.Add(Me.TextBox7)
Me.Controls.Add(Me.TextBox8)
Me.Controls.Add(Me.TextBox9)
Me.Controls.Add(Me.TextBox10)
Me.Controls.Add(Me.Label7)
Me.Controls.Add(Me.Label8)
Me.Controls.Add(Me.Label9)
Me.Controls.Add(Me.Label10)
Me.Controls.Add(Me.Label6)
Me.Controls.Add(Me.TextBox6)
Me.Controls.Add(Me.TextBox5)
Me.Controls.Add(Me.TextBox4)
Me.Controls.Add(Me.TextBox3)
Me.Controls.Add(Me.TextBox2)
Me.Controls.Add(Me.TextBox1)
Me.Controls.Add(Me.Label5)
Me.Controls.Add(Me.Label4)
Me.Controls.Add(Me.Label3)
Me.Controls.Add(Me.Label2)
Me.Controls.Add(Me.Label1)
Me.Name = "MainFrm"
Me.Text = "MainFrm"
Me.ResumeLayout(False)
End Sub
#End Region
Public Shared Function findPerson()Function findPerson(ByVal daihao As String) As Boolean
Dim con As SqlConnection = DB.createCon
con.Open()
Dim cmd As New SqlCommand("select count(*) from inf01 where i01_01='" + daihao + "'", con)
Dim count As Integer = Convert.ToInt32(cmd.ExecuteScalar())
If count > 0 Then
Return True
Else
Return False
End If
con.Close()
End Function
Function printers()Function printers()
Dim FieldString As String = ""
'保持欄位名稱的陣列
Dim FieldArray() As String
Dim i As Integer
'參數欄位集合
Dim ParamFields As New ParameterFields
'參數欄位
Dim ParamField As ParameterField
'離散值
Dim DiscreteVal As New ParameterDiscreteValue
FieldString = TextBox1.Text & "," & TextBox2.Text & "," & TextBox3.Text & "," & TextBox4.Text & "," & TextBox5.Text & "," & TextBox6.Text
FieldString = FieldString & "," & TextBox12.Text & "," & TextBox11.Text & "," & TextBox10.Text & "," & TextBox9.Text & "," & TextBox8.Text & "," & TextBox7.Text
'If FieldString = "" Then
' MessageBox.Show("請輸入正確的寄件客戶代號!")
' Exit Sub
'End If
'刪除第一個逗號,使字串最終顯示為 "欄位1,欄位2,欄位3"
If FieldString.Substring(0, 1) = "," Then
FieldString = FieldString.Substring(1, FieldString.Length - 1)
End If
'分割成陣列,每個元素為一個欄位名稱
FieldArray = FieldString.Split(",")
'創建一個強類型報表實例
crReportDocument = New CrystalReport1
For i = 0 To UBound(FieldArray)
ParamField = New ParameterField
ParamField.ParameterFieldName = "myParaField" & (i + 1).ToString
'離散值
DiscreteVal = New ParameterDiscreteValue
DiscreteVal.Value = FieldArray(i)
'賦值
ParamField.CurrentValues.Add(DiscreteVal)
'將該欄位加如到欄位集合中
ParamFields.Add(ParamField)
Next
'CrystalReportViewer1.ParameterFieldInfo = ParamFields
'''將報表傳遞給流覽器
'CrystalReportViewer1.ReportSource = crReportDocument
frmReport.CrystalReportViewer1.ParameterFieldInfo = ParamFields
frmReport.CrystalReportViewer1.ReportSource = crReportDocument
End Function
Private Sub Form1_Load()Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
TextBox1.Text = ""
TextBox2.Text = ""
TextBox3.Text = ""
TextBox4.Text = ""
TextBox5.Text = ""
TextBox6.Text = ""
TextBox7.Text = ""
TextBox8.Text = ""
TextBox9.Text = ""
TextBox10.Text = ""
TextBox11.Text = ""
TextBox12.Text = ""
End Sub
Private Sub TextBox1_TextChanged()Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
Dim strtxt1 = TextBox1.Text
If Len(strtxt1) = 7 Then
If findPerson(strtxt1) Then
Dim consql As SqlConnection = DB.createCon
'Dim consql As SqlConnection = New SqlConnection("server=127.0.0.1;database=test;uid=sa;pwd=;")
consql.Open()
Dim cmdsql As New SqlCommand("select i01_02,i01_06,i01_04,Cno,I01_031 from inf01 where i01_01='" + strtxt1 + "'", consql)
Dim myReader As SqlDataReader = cmdsql.ExecuteReader()
While myReader.Read()
Dim i01_02str As String = myReader.GetString(0).ToString()
Dim i01_06str As String = myReader.GetString(1).ToString()
Dim i01_04str As String = myReader.GetString(2).ToString()
Dim Constr As String = myReader.GetString(3).ToString()
Dim i01_031str As String = myReader.GetString(4).ToString()
TextBox2.Text = i01_02str
TextBox3.Text = i01_06str
TextBox4.Text = i01_04str
TextBox5.Text = Constr
TextBox6.Text = i01_031str
End While
myReader.Close()
consql.Close()
Else
MessageBox.Show("客戶代號不存在,請重新輸入!")
TextBox2.Text = ""
TextBox3.Text = ""
TextBox4.Text = ""
TextBox5.Text = ""
TextBox6.Text = ""
End If
End If
End Sub
Private Sub TextBox12_TextChanged()Sub TextBox12_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox12.TextChanged
Dim strtxt12 = TextBox12.Text
If Len(strtxt12) = 7 Then
If findPerson(strtxt12) Then
Dim consql As SqlConnection = DB.createCon
'Dim consql As SqlConnection = New SqlConnection("server=127.0.0.1;database=test;uid=sa;pwd=;")
consql.Open()
Dim cmdsql As New SqlCommand("select i01_02,i01_06,i01_04,Cno,I01_031 from inf01 where i01_01='" + strtxt12 + "'", consql)
Dim myReader As SqlDataReader = cmdsql.ExecuteReader()
While myReader.Read()
Dim i01_02str As String = myReader.GetString(0).ToString()
Dim i01_06str As String = myReader.GetString(1).ToString()
Dim i01_04str As String = myReader.GetString(2).ToString()
Dim Constr As String = myReader.GetString(3).ToString()
Dim i01_031str As String = myReader.GetString(4).ToString()
TextBox11.Text = i01_02str
TextBox10.Text = i01_06str
TextBox9.Text = i01_04str
TextBox8.Text = Constr
TextBox7.Text = i01_031str
End While
myReader.Close()
consql.Close()
Else
MessageBox.Show("客戶代號不存在,請重新輸入!")
TextBox7.Text = ""
TextBox8.Text = ""
TextBox9.Text = ""
TextBox10.Text = ""
TextBox11.Text = ""
End If
End If
End Sub
Private Sub Button3_Click()Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
Me.Close()
End Sub
Private Sub Button1_Click()Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
printers()
'frmReport.CrystalReportViewer1.PrintReport()
'CrystalReportViewer1.PrintReport()
'彈出打印對話框
MessageBox.Show("Report finished printing!")
'Try
' Dim margins As PageMargins
' margins = crReportDocument.PrintOptions.PageMargins
' margins.bottomMargin = 250
' margins.leftMargin = 350
' margins.rightMargin = 350
' margins.topMargin = 450
' crReportDocument.PrintOptions.ApplyPageMargins(margins)
' Dim printDocument As New System.Drawing.Printing.PrintDocument
' crReportDocument.PrintOptions.PrinterName = printDocument.PrinterSettings.PrinterName
' crReportDocument.PrintToPrinter(1, True, 1, 1)
' MessageBox.Show("Report finished printing!")
'Catch err As Exception
' MessageBox.Show(err.ToString())
'End Try
'直接打印
End Sub
Private Sub Button2_Click()Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
printers()
Try
frmReport.ShowDialog()
MessageBox.Show("Report finished printing!")
Catch err As Exception
MessageBox.Show(err.ToString())
End Try
End Sub
End Class
Imports CrystalDecisions.CrystalReports.Engine
Imports CrystalDecisions.Shared
Imports System.Drawing.Printing
Public Class MainFrm Class MainFrm
Inherits System.Windows.Forms.Form
Dim crReportDocument As CrystalReport1
Public frmReport As New frmReport
Windows Form 設計工具產生的程式碼#Region " Windows Form 設計工具產生的程式碼 "
Public Sub New()Sub New()
MyBase.New()
'此為 Windows Form 設計工具所需的呼叫。
InitializeComponent()
'在 InitializeComponent() 呼叫之後加入所有的初始設定
End Sub
'Form 覆寫 Dispose 以清除元件清單。
Protected Overloads Overrides Sub Dispose()Sub Dispose(ByVal disposing As Boolean)
If disposing Then
If Not (components Is Nothing) Then
components.Dispose()
End If
End If
MyBase.Dispose(disposing)
End Sub
'為 Windows Form 設計工具的必要項
Private components As System.ComponentModel.IContainer
'注意: 以下為 Windows Form 設計工具所需的程序
'您可以使用 Windows Form 設計工具進行修改。
'請勿使用程式碼編輯器來修改這些程序。
Friend WithEvents Label1 As System.Windows.Forms.Label
Friend WithEvents Label2 As System.Windows.Forms.Label
Friend WithEvents Label3 As System.Windows.Forms.Label
Friend WithEvents Label4 As System.Windows.Forms.Label
Friend WithEvents Label5 As System.Windows.Forms.Label
Friend WithEvents TextBox1 As System.Windows.Forms.TextBox
Friend WithEvents TextBox2 As System.Windows.Forms.TextBox
Friend WithEvents TextBox3 As System.Windows.Forms.TextBox
Friend WithEvents TextBox4 As System.Windows.Forms.TextBox
Friend WithEvents TextBox5 As System.Windows.Forms.TextBox
Friend WithEvents TextBox6 As System.Windows.Forms.TextBox
Friend WithEvents Label6 As System.Windows.Forms.Label
Friend WithEvents TextBox7 As System.Windows.Forms.TextBox
Friend WithEvents TextBox8 As System.Windows.Forms.TextBox
Friend WithEvents TextBox9 As System.Windows.Forms.TextBox
Friend WithEvents TextBox10 As System.Windows.Forms.TextBox
Friend WithEvents Label7 As System.Windows.Forms.Label
Friend WithEvents Label8 As System.Windows.Forms.Label
Friend WithEvents Label9 As System.Windows.Forms.Label
Friend WithEvents Label10 As System.Windows.Forms.Label
Friend WithEvents Button1 As System.Windows.Forms.Button
Friend WithEvents Button2 As System.Windows.Forms.Button
Friend WithEvents Button3 As System.Windows.Forms.Button
Friend WithEvents TextBox11 As System.Windows.Forms.TextBox
Friend WithEvents TextBox12 As System.Windows.Forms.TextBox
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()Sub InitializeComponent()
Me.Label1 = New System.Windows.Forms.Label
Me.Label2 = New System.Windows.Forms.Label
Me.Label3 = New System.Windows.Forms.Label
Me.Label4 = New System.Windows.Forms.Label
Me.Label5 = New System.Windows.Forms.Label
Me.TextBox1 = New System.Windows.Forms.TextBox
Me.TextBox2 = New System.Windows.Forms.TextBox
Me.TextBox3 = New System.Windows.Forms.TextBox
Me.TextBox4 = New System.Windows.Forms.TextBox
Me.TextBox5 = New System.Windows.Forms.TextBox
Me.TextBox6 = New System.Windows.Forms.TextBox
Me.Label6 = New System.Windows.Forms.Label
Me.TextBox7 = New System.Windows.Forms.TextBox
Me.TextBox8 = New System.Windows.Forms.TextBox
Me.TextBox9 = New System.Windows.Forms.TextBox
Me.TextBox10 = New System.Windows.Forms.TextBox
Me.Label7 = New System.Windows.Forms.Label
Me.Label8 = New System.Windows.Forms.Label
Me.Label9 = New System.Windows.Forms.Label
Me.Label10 = New System.Windows.Forms.Label
Me.Button1 = New System.Windows.Forms.Button
Me.Button2 = New System.Windows.Forms.Button
Me.Button3 = New System.Windows.Forms.Button
Me.TextBox11 = New System.Windows.Forms.TextBox
Me.TextBox12 = New System.Windows.Forms.TextBox
Me.SuspendLayout()
'
'Label1
'
Me.Label1.Location = New System.Drawing.Point(0, 0)
Me.Label1.Name = "Label1"
Me.Label1.TabIndex = 0
Me.Label1.Text = "寄件客戶代號"
'
'Label2
'
Me.Label2.Location = New System.Drawing.Point(0, 48)
Me.Label2.Name = "Label2"
Me.Label2.TabIndex = 1
Me.Label2.Text = "聯絡人"
'
'Label3
'
Me.Label3.Location = New System.Drawing.Point(192, 48)
Me.Label3.Name = "Label3"
Me.Label3.TabIndex = 2
Me.Label3.Text = "電話"
'
'Label4
'
Me.Label4.Location = New System.Drawing.Point(360, 48)
Me.Label4.Name = "Label4"
Me.Label4.TabIndex = 3
Me.Label4.Text = "地區代號"
'
'Label5
'
Me.Label5.Location = New System.Drawing.Point(0, 104)
Me.Label5.Name = "Label5"
Me.Label5.TabIndex = 4
Me.Label5.Text = "地址"
'
'TextBox1
'
Me.TextBox1.Location = New System.Drawing.Point(0, 16)
Me.TextBox1.MaxLength = 7
Me.TextBox1.Name = "TextBox1"
Me.TextBox1.TabIndex = 5
Me.TextBox1.Text = "Tbx1"
'
'TextBox2
'
Me.TextBox2.Location = New System.Drawing.Point(136, 16)
Me.TextBox2.Name = "TextBox2"
Me.TextBox2.Size = New System.Drawing.Size(368, 22)
Me.TextBox2.TabIndex = 6
Me.TextBox2.Text = "TextBox2"
'
'TextBox3
'
Me.TextBox3.Location = New System.Drawing.Point(56, 40)
Me.TextBox3.Name = "TextBox3"
Me.TextBox3.TabIndex = 7
Me.TextBox3.Text = "TextBox3"
'
'TextBox4
'
Me.TextBox4.Location = New System.Drawing.Point(240, 48)
Me.TextBox4.Name = "TextBox4"
Me.TextBox4.TabIndex = 8
Me.TextBox4.Text = "TextBox4"
'
'TextBox5
'
Me.TextBox5.Location = New System.Drawing.Point(424, 48)
Me.TextBox5.Name = "TextBox5"
Me.TextBox5.TabIndex = 9
Me.TextBox5.Text = "TextBox5"
'
'TextBox6
'
Me.TextBox6.Location = New System.Drawing.Point(40, 104)
Me.TextBox6.Name = "TextBox6"
Me.TextBox6.Size = New System.Drawing.Size(608, 22)
Me.TextBox6.TabIndex = 10
Me.TextBox6.Text = "TextBox6"
'
'Label6
'
Me.Label6.Location = New System.Drawing.Point(0, 168)
Me.Label6.Name = "Label6"
Me.Label6.TabIndex = 11
Me.Label6.Text = "收件客戶代號"
'
'TextBox7
'
Me.TextBox7.Location = New System.Drawing.Point(48, 296)
Me.TextBox7.Name = "TextBox7"
Me.TextBox7.Size = New System.Drawing.Size(608, 22)
Me.TextBox7.TabIndex = 19
Me.TextBox7.Text = "TextBox7"
'
'TextBox8
'
Me.TextBox8.Location = New System.Drawing.Point(432, 240)
Me.TextBox8.Name = "TextBox8"
Me.TextBox8.TabIndex = 18
Me.TextBox8.Text = "TextBox8"
'
'TextBox9
'
Me.TextBox9.Location = New System.Drawing.Point(248, 240)
Me.TextBox9.Name = "TextBox9"
Me.TextBox9.TabIndex = 17
Me.TextBox9.Text = "TextBox9"
'
'TextBox10
'
Me.TextBox10.Location = New System.Drawing.Point(64, 232)
Me.TextBox10.Name = "TextBox10"
Me.TextBox10.TabIndex = 16
Me.TextBox10.Text = "TextBox10"
'
'Label7
'
Me.Label7.Location = New System.Drawing.Point(8, 296)
Me.Label7.Name = "Label7"
Me.Label7.TabIndex = 15
Me.Label7.Text = "地址"
'
'Label8
'
Me.Label8.Location = New System.Drawing.Point(368, 240)
Me.Label8.Name = "Label8"
Me.Label8.TabIndex = 14
Me.Label8.Text = "地區代號"
'
'Label9
'
Me.Label9.Location = New System.Drawing.Point(200, 240)
Me.Label9.Name = "Label9"
Me.Label9.TabIndex = 13
Me.Label9.Text = "電話"
'
'Label10
'
Me.Label10.Location = New System.Drawing.Point(8, 240)
Me.Label10.Name = "Label10"
Me.Label10.TabIndex = 12
Me.Label10.Text = "聯絡人"
'
'Button1
'
Me.Button1.Location = New System.Drawing.Point(160, 352)
Me.Button1.Name = "Button1"
Me.Button1.TabIndex = 20
Me.Button1.Text = "打印"
'
'Button2
'
Me.Button2.Location = New System.Drawing.Point(288, 352)
Me.Button2.Name = "Button2"
Me.Button2.TabIndex = 21
Me.Button2.Text = "打印預覽"
'
'Button3
'
Me.Button3.Location = New System.Drawing.Point(424, 352)
Me.Button3.Name = "Button3"
Me.Button3.TabIndex = 22
Me.Button3.Text = "退出"
'
'TextBox11
'
Me.TextBox11.Location = New System.Drawing.Point(136, 200)
Me.TextBox11.Name = "TextBox11"
Me.TextBox11.Size = New System.Drawing.Size(368, 22)
Me.TextBox11.TabIndex = 24
Me.TextBox11.Text = "TextBox11"
'
'TextBox12
'
Me.TextBox12.Location = New System.Drawing.Point(0, 200)
Me.TextBox12.MaxLength = 7
Me.TextBox12.Name = "TextBox12"
Me.TextBox12.TabIndex = 23
Me.TextBox12.Text = "TextBox12"
'
'MainFrm
'
Me.AutoScaleBaseSize = New System.Drawing.Size(5, 15)
Me.ClientSize = New System.Drawing.Size(664, 413)
Me.Controls.Add(Me.TextBox11)
Me.Controls.Add(Me.TextBox12)
Me.Controls.Add(Me.Button3)
Me.Controls.Add(Me.Button2)
Me.Controls.Add(Me.Button1)
Me.Controls.Add(Me.TextBox7)
Me.Controls.Add(Me.TextBox8)
Me.Controls.Add(Me.TextBox9)
Me.Controls.Add(Me.TextBox10)
Me.Controls.Add(Me.Label7)
Me.Controls.Add(Me.Label8)
Me.Controls.Add(Me.Label9)
Me.Controls.Add(Me.Label10)
Me.Controls.Add(Me.Label6)
Me.Controls.Add(Me.TextBox6)
Me.Controls.Add(Me.TextBox5)
Me.Controls.Add(Me.TextBox4)
Me.Controls.Add(Me.TextBox3)
Me.Controls.Add(Me.TextBox2)
Me.Controls.Add(Me.TextBox1)
Me.Controls.Add(Me.Label5)
Me.Controls.Add(Me.Label4)
Me.Controls.Add(Me.Label3)
Me.Controls.Add(Me.Label2)
Me.Controls.Add(Me.Label1)
Me.Name = "MainFrm"
Me.Text = "MainFrm"
Me.ResumeLayout(False)
End Sub
#End Region
Public Shared Function findPerson()Function findPerson(ByVal daihao As String) As Boolean
Dim con As SqlConnection = DB.createCon
con.Open()
Dim cmd As New SqlCommand("select count(*) from inf01 where i01_01='" + daihao + "'", con)
Dim count As Integer = Convert.ToInt32(cmd.ExecuteScalar())
If count > 0 Then
Return True
Else
Return False
End If
con.Close()
End Function
Function printers()Function printers()
Dim FieldString As String = ""
'保持欄位名稱的陣列
Dim FieldArray() As String
Dim i As Integer
'參數欄位集合
Dim ParamFields As New ParameterFields
'參數欄位
Dim ParamField As ParameterField
'離散值
Dim DiscreteVal As New ParameterDiscreteValue
FieldString = TextBox1.Text & "," & TextBox2.Text & "," & TextBox3.Text & "," & TextBox4.Text & "," & TextBox5.Text & "," & TextBox6.Text
FieldString = FieldString & "," & TextBox12.Text & "," & TextBox11.Text & "," & TextBox10.Text & "," & TextBox9.Text & "," & TextBox8.Text & "," & TextBox7.Text
'If FieldString = "" Then
' MessageBox.Show("請輸入正確的寄件客戶代號!")
' Exit Sub
'End If
'刪除第一個逗號,使字串最終顯示為 "欄位1,欄位2,欄位3"
If FieldString.Substring(0, 1) = "," Then
FieldString = FieldString.Substring(1, FieldString.Length - 1)
End If
'分割成陣列,每個元素為一個欄位名稱
FieldArray = FieldString.Split(",")
'創建一個強類型報表實例
crReportDocument = New CrystalReport1
For i = 0 To UBound(FieldArray)
ParamField = New ParameterField
ParamField.ParameterFieldName = "myParaField" & (i + 1).ToString
'離散值
DiscreteVal = New ParameterDiscreteValue
DiscreteVal.Value = FieldArray(i)
'賦值
ParamField.CurrentValues.Add(DiscreteVal)
'將該欄位加如到欄位集合中
ParamFields.Add(ParamField)
Next
'CrystalReportViewer1.ParameterFieldInfo = ParamFields
'''將報表傳遞給流覽器
'CrystalReportViewer1.ReportSource = crReportDocument
frmReport.CrystalReportViewer1.ParameterFieldInfo = ParamFields
frmReport.CrystalReportViewer1.ReportSource = crReportDocument
End Function
Private Sub Form1_Load()Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
TextBox1.Text = ""
TextBox2.Text = ""
TextBox3.Text = ""
TextBox4.Text = ""
TextBox5.Text = ""
TextBox6.Text = ""
TextBox7.Text = ""
TextBox8.Text = ""
TextBox9.Text = ""
TextBox10.Text = ""
TextBox11.Text = ""
TextBox12.Text = ""
End Sub
Private Sub TextBox1_TextChanged()Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
Dim strtxt1 = TextBox1.Text
If Len(strtxt1) = 7 Then
If findPerson(strtxt1) Then
Dim consql As SqlConnection = DB.createCon
'Dim consql As SqlConnection = New SqlConnection("server=127.0.0.1;database=test;uid=sa;pwd=;")
consql.Open()
Dim cmdsql As New SqlCommand("select i01_02,i01_06,i01_04,Cno,I01_031 from inf01 where i01_01='" + strtxt1 + "'", consql)
Dim myReader As SqlDataReader = cmdsql.ExecuteReader()
While myReader.Read()
Dim i01_02str As String = myReader.GetString(0).ToString()
Dim i01_06str As String = myReader.GetString(1).ToString()
Dim i01_04str As String = myReader.GetString(2).ToString()
Dim Constr As String = myReader.GetString(3).ToString()
Dim i01_031str As String = myReader.GetString(4).ToString()
TextBox2.Text = i01_02str
TextBox3.Text = i01_06str
TextBox4.Text = i01_04str
TextBox5.Text = Constr
TextBox6.Text = i01_031str
End While
myReader.Close()
consql.Close()
Else
MessageBox.Show("客戶代號不存在,請重新輸入!")
TextBox2.Text = ""
TextBox3.Text = ""
TextBox4.Text = ""
TextBox5.Text = ""
TextBox6.Text = ""
End If
End If
End Sub
Private Sub TextBox12_TextChanged()Sub TextBox12_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox12.TextChanged
Dim strtxt12 = TextBox12.Text
If Len(strtxt12) = 7 Then
If findPerson(strtxt12) Then
Dim consql As SqlConnection = DB.createCon
'Dim consql As SqlConnection = New SqlConnection("server=127.0.0.1;database=test;uid=sa;pwd=;")
consql.Open()
Dim cmdsql As New SqlCommand("select i01_02,i01_06,i01_04,Cno,I01_031 from inf01 where i01_01='" + strtxt12 + "'", consql)
Dim myReader As SqlDataReader = cmdsql.ExecuteReader()
While myReader.Read()
Dim i01_02str As String = myReader.GetString(0).ToString()
Dim i01_06str As String = myReader.GetString(1).ToString()
Dim i01_04str As String = myReader.GetString(2).ToString()
Dim Constr As String = myReader.GetString(3).ToString()
Dim i01_031str As String = myReader.GetString(4).ToString()
TextBox11.Text = i01_02str
TextBox10.Text = i01_06str
TextBox9.Text = i01_04str
TextBox8.Text = Constr
TextBox7.Text = i01_031str
End While
myReader.Close()
consql.Close()
Else
MessageBox.Show("客戶代號不存在,請重新輸入!")
TextBox7.Text = ""
TextBox8.Text = ""
TextBox9.Text = ""
TextBox10.Text = ""
TextBox11.Text = ""
End If
End If
End Sub
Private Sub Button3_Click()Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
Me.Close()
End Sub
Private Sub Button1_Click()Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
printers()
'frmReport.CrystalReportViewer1.PrintReport()
'CrystalReportViewer1.PrintReport()
'彈出打印對話框
MessageBox.Show("Report finished printing!")
'Try
' Dim margins As PageMargins
' margins = crReportDocument.PrintOptions.PageMargins
' margins.bottomMargin = 250
' margins.leftMargin = 350
' margins.rightMargin = 350
' margins.topMargin = 450
' crReportDocument.PrintOptions.ApplyPageMargins(margins)
' Dim printDocument As New System.Drawing.Printing.PrintDocument
' crReportDocument.PrintOptions.PrinterName = printDocument.PrinterSettings.PrinterName
' crReportDocument.PrintToPrinter(1, True, 1, 1)
' MessageBox.Show("Report finished printing!")
'Catch err As Exception
' MessageBox.Show(err.ToString())
'End Try
'直接打印
End Sub
Private Sub Button2_Click()Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
printers()
Try
frmReport.ShowDialog()
MessageBox.Show("Report finished printing!")
Catch err As Exception
MessageBox.Show(err.ToString())
End Try
End Sub
End Class
子frmReport
Imports
System.Data.SqlClient
Imports CrystalDecisions.CrystalReports.Engine
Imports CrystalDecisions.Shared
Imports System.Drawing.Printing
Public Class frmReport Class frmReport
Inherits System.Windows.Forms.Form
Windows Form 設計工具產生的程式碼#Region " Windows Form 設計工具產生的程式碼 "
Public Sub New()Sub New()
MyBase.New()
'此為 Windows Form 設計工具所需的呼叫。
InitializeComponent()
'在 InitializeComponent() 呼叫之後加入所有的初始設定
End Sub
'Form 覆寫 Dispose 以清除元件清單。
Protected Overloads Overrides Sub Dispose()Sub Dispose(ByVal disposing As Boolean)
If disposing Then
If Not (components Is Nothing) Then
components.Dispose()
End If
End If
MyBase.Dispose(disposing)
End Sub
'為 Windows Form 設計工具的必要項
Private components As System.ComponentModel.IContainer
'注意: 以下為 Windows Form 設計工具所需的程序
'您可以使用 Windows Form 設計工具進行修改。
'請勿使用程式碼編輯器來修改這些程序。
Friend WithEvents CrystalReportViewer1 As CrystalDecisions.Windows.Forms.CrystalReportViewer
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()Sub InitializeComponent()
Me.CrystalReportViewer1 = New CrystalDecisions.Windows.Forms.CrystalReportViewer
Me.SuspendLayout()
'
'CrystalReportViewer1
'
Me.CrystalReportViewer1.ActiveViewIndex = -1
Me.CrystalReportViewer1.DisplayGroupTree = False
Me.CrystalReportViewer1.Location = New System.Drawing.Point(0, 0)
Me.CrystalReportViewer1.Name = "CrystalReportViewer1"
Me.CrystalReportViewer1.ReportSource = Nothing
Me.CrystalReportViewer1.Size = New System.Drawing.Size(776, 408)
Me.CrystalReportViewer1.TabIndex = 0
'
'frmReport
'
Me.AutoScaleBaseSize = New System.Drawing.Size(5, 15)
Me.ClientSize = New System.Drawing.Size(776, 405)
Me.Controls.Add(Me.CrystalReportViewer1)
Me.Name = "frmReport"
Me.Text = "frmReport"
Me.ResumeLayout(False)
End Sub
#End Region
Private Sub frmReport_Load()Sub frmReport_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
End Sub
End Class
Imports CrystalDecisions.CrystalReports.Engine
Imports CrystalDecisions.Shared
Imports System.Drawing.Printing
Public Class frmReport Class frmReport
Inherits System.Windows.Forms.Form
Windows Form 設計工具產生的程式碼#Region " Windows Form 設計工具產生的程式碼 "
Public Sub New()Sub New()
MyBase.New()
'此為 Windows Form 設計工具所需的呼叫。
InitializeComponent()
'在 InitializeComponent() 呼叫之後加入所有的初始設定
End Sub
'Form 覆寫 Dispose 以清除元件清單。
Protected Overloads Overrides Sub Dispose()Sub Dispose(ByVal disposing As Boolean)
If disposing Then
If Not (components Is Nothing) Then
components.Dispose()
End If
End If
MyBase.Dispose(disposing)
End Sub
'為 Windows Form 設計工具的必要項
Private components As System.ComponentModel.IContainer
'注意: 以下為 Windows Form 設計工具所需的程序
'您可以使用 Windows Form 設計工具進行修改。
'請勿使用程式碼編輯器來修改這些程序。
Friend WithEvents CrystalReportViewer1 As CrystalDecisions.Windows.Forms.CrystalReportViewer
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()Sub InitializeComponent()
Me.CrystalReportViewer1 = New CrystalDecisions.Windows.Forms.CrystalReportViewer
Me.SuspendLayout()
'
'CrystalReportViewer1
'
Me.CrystalReportViewer1.ActiveViewIndex = -1
Me.CrystalReportViewer1.DisplayGroupTree = False
Me.CrystalReportViewer1.Location = New System.Drawing.Point(0, 0)
Me.CrystalReportViewer1.Name = "CrystalReportViewer1"
Me.CrystalReportViewer1.ReportSource = Nothing
Me.CrystalReportViewer1.Size = New System.Drawing.Size(776, 408)
Me.CrystalReportViewer1.TabIndex = 0
'
'frmReport
'
Me.AutoScaleBaseSize = New System.Drawing.Size(5, 15)
Me.ClientSize = New System.Drawing.Size(776, 405)
Me.Controls.Add(Me.CrystalReportViewer1)
Me.Name = "frmReport"
Me.Text = "frmReport"
Me.ResumeLayout(False)
End Sub
#End Region
Private Sub frmReport_Load()Sub frmReport_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
End Sub
End Class
報表: