พื้นฐานการเขียนโปรแกรม Visual Basic
Download Tools
Download Visual Studio 2017
https://visualstudio.microsoft.com/vs/express/
Download Microsoft.Net Framwork 4.6
https://www.microsoft.com/en-us/download/details.aspx?id=48130
Download SQL Server 2012 Express
https://www.microsoft.com/en-us/download/details.aspx?id=29062
Download SQL Server 2014 Express [recommend]..
https://www.microsoft.com/en-us/download/details.aspx?id=42299
How to install SQL Server Express 2014
Link Youtube: https://www.youtube.com/watch?v=D5243hqy2BM
Step 1
Download : https://www.microsoft.com/en-us/download/details.aspx?id=42299
Step 2
เลือกตัว Express And Tool
Step 3
หลังจาก Download เสร็จ ให้ install ในสิทธิ์ Admin
Step 4
เลือกตัว New SQL Server stand-alone installation
Step 5
Accept License and Next
Step 6
เลือก Select All And Next
Step 7
Name instance ไม่ต้องเปลี่ยน And Next
Step 8
แท็บ Collation เลือกเป็น Thai จะได้เป็น Thai_CI_AI And Next
Step 9
เลือก Windows authenlocation mode And Next
Step 10
หลังจากติดตั้งเสร็จ แล้วไม่มีอะไรผิดพลาด ก็ปิดไปได้ Restart Computer
How to SQL SERVER 2014 Express
วิธีแก้ไข เมื่อ SQLSERVER ไม่ยอมให้แก้ไขข้อมูลใน Tables
credit: https://naiwaen.debuggingsoft.com/2014/12/sql-server-ไม่สามารถแก้ไขโครงสร/
Step 1. ที่ SQLServer Studio ให้ไปที่เมนู Tools->Option...
Step 2. เลือกหัวข้อ Designers
Step 3. ที่หัวข้อ "Prevent saving changes that require table re-creation" ให้เอาเครื่องหมายถูกออก
How to Restore Database SQL Server 2014
Step 1
คลิกขวาที่ Database เลือก Restore Files and Filegroups
Step 2
เลือก From device แล้ว Add เลือกไฟล์ที่ Backup เอาไว้
Step 3
ตั้งชื่อ Database and OK จบข่าว
ขั้นตอนการเขียน VB ร่วมกับ SQLServer
'Step 1 : Create Connection String
Dim conn As String = "data source=ADMIN-PC\SQLEXPRESS; database=shop_db; integrated security=true"
Dim cn As New SqlConnection(conn)
With cn
If .State = ConnectionState.Open Then .Close()
.ConnectionString = conn
.Open()
End With
'Step 2 : Create SQL Statement
Dim sql As String = "SELECT cusId,cusName,cusTel FROM customer_tb"
'Step 3 : Execute SQL Statement
Dim da As New SqlDataAdapter(sql, cn)
'Step 4 : Retrive Data
Dim ds As New DataSet
da.Fill(ds, "info")
'Step 5 : Close Connection
cn.Close()
showData to dataGridView
'Step 1 : Create Connection String
Dim conn As String = "data source=ADMIN-PC\SQLEXPRESS; database=shop_db; integrated security=true"
Dim cn As New SqlConnection(conn)
With cn
If .State = ConnectionState.Open Then .Close()
.ConnectionString = conn
.Open()
End With
'Step 2 : Create SQL Statement
Dim sql As String = "SELECT cusId,cusName,cusTel FROM customer_tb"
'Step 3 : Execute SQL Statement
Dim da As New SqlDataAdapter(sql, cn)
'Step 4 : Retrive Data
Dim ds As New DataSet
da.Fill(ds, "info")
dgvCustomer.DataSource = ds.Tables("info")
'Step 5 : Close Connection
cn.Close()
SET dgvHeader
With dgvCustomer
.Columns(0).HeaderText = "รหัสลูกค้า"
.Columns(1).HeaderText = "ชื่อลูกค้า"
.Columns(2).HeaderText = "เบอร์โทรลูกค้า"
.Columns(0).Width = 120
.Columns(1).Width = 150
.Columns(2).Width = 150
End With
Cell Mouse Click
If e.RowIndex = -1 Then Exit Sub
With dgvCustomer.Rows.Item(e.RowIndex)
txtCusid.Text = .Cells(0).Value.ToString()
End With
Close คำสั่งปิดโปรแกรม
Me.Close()
การตั้งค่า Form VB หลักๆ
FormBorderStyle : FixedSingle
Text : Form Name
StartPosition : CenterScreen
Icon : ImageIcon
Debugging FrmEmployee.vb
Debug::FrmEmployee.vb
- set start position: centerScreen
- set btnOpen : Enable = true
- set obj-OpenfileDialgo -> FileName = ''
- add Event dgvCellMousClick
- add OpenFileDialog
//C:\Users\Goborijung\Pictures\images.jpg
//D:\Charcoal\pic\E000005.jpg
//in Even CellMouseClick
If e.RowIndex = -1 Then Exit Sub
With dgvEmpShow.Rows.Item(e.RowIndex)
tbEmpSearch.Text = .Cells(0).Value.ToString()
End With
//How to add Image
use.
OpenFileDialog1.InitialDirectory = "D:\Charcoal\pic"
OpenFileDialog1.Filter = "ไฟล์รูป|*.jpg; *gif; *.png"
OpenFileDialog1.ShowDialog()
PicEmp.ImageLocation = OpenFileDialog1.FileName
LblPic.Text = OpenFileDialog1.FileName
ex1.
O1.InitialDirectory = "C:\pic"
O1.Filter = "ไฟล์รูป|*.jpg;*gif;*.png"
O1.ShowDialog()
Pic1.ImageLocation = O1.FileName
LblPic.Text = O1.FileName
ex2.
ofdMemPic.Filter = "jpg|*.jpg"
If ofdMemPic.ShowDialog = Windows.Forms.DialogResult.Cancel Then
Else
dim partPic As String = ""
partPic = ofdMemPic.FileName
PictureBox1.ImageLocation = partPic
End If
//How do Action add Image
Try
File.Copy(source, des, True)
Catch ex As Exception
'MessageBox.Show(ex.Message)
End Try
Debugging-Listview
//do-add-item
'Validate UI การตรวจสอบเบื้องต้น
If tbProID.Text.Trim = "" Then
MessageBox.Show("ป้อนรหัสสินค้าที่จะซื้อด้วย")
ElseIf tbProQuan.Text.Trim = "" Then
MessageBox.Show("ป้อนจำนวนที่จะซื้อด้วย")
ElseIf tbProQuan.Text.Trim = "0" Then
MessageBox.Show("จำนวนที่จะซื้อต้องไม่เป็น 0")
Else
Dim no As Integer = 1
Dim total As Double = 0.0
Dim vat As Double = 0.0
Dim netTotal As Double = 0.0
For i As Integer = 0 To lvProShow.Items.Count - 1 'นับแถวในตารางทั้งหดม แล้ว - 1
'Debugging
Dim lv_item = lvProShow.Items(i)
If tbProID.Text.Trim = lv_item.SubItems(1).Text Then
'ถ้ามีอยู่แล้ว ให้บวกเพิ่มทีละ 1
Dim proQuanNew As Integer = CInt(tbProQuan.Text.Trim) + CInt(lvProShow.Items(i).SubItems(5).Text) 'จำนวน: ของใหม่ + ของเก่า
Dim payProductNew As Double = (CDbl(tbProPrice.Text.Trim) * proQuanNew) 'ราคารวม: ราคา * จำนวน
'MessageBox.Show("amount: " & proQuanNew)
'MessageBox.Show("pay: " & payProductNew)
'ตรวจสอบก่อนที่จะเะอาจำนวนใหม่ไปใส่แทนที่เดิม ว่ามันเกินสต็อกหรือไม่
If proQuanNew > lbProUN.Text.Trim Then
MessageBox.Show("จำนวนในสต็อกไม่พอขาย")
Exit Sub
End If
lv_item.SubItems(5).Text = proQuanNew 'แสดงจำนวนใหม่
lv_item.SubItems(6).Text = payProductNew 'แสดงราคาใหม่
'คำนวนเงินรวม vat netTotal
tbNetTotal.Text = CDbl(tbNetTotal.Text.Trim) + (CDbl(tbProPrice.Text.Trim) * CInt(tbProQuan.Text.Trim)).ToString("0.00")
tbNetVat.Text = CDbl(tbNetTotal.Text) * 0.07.ToString("0.00")
tbNetTotalVat.Text = CDbl(tbNetTotal.Text) + CDbl(tbNetVat.Text)
Exit Sub 'end-then
End If
no += 1
Next
'เอาข้อมูลการขายมาใส่ใน ListView (lvProShow)
Dim payProduct As Double = CDbl(tbProPrice.Text.Trim) * CInt(tbProQuan.Text.Trim) 'คำนวน: total
'1.เอาขอมูลที่จะใส่ใน ListView ใส่ในตัวแปรอาร์เรย์
Dim data() As String
data = New String() {no, tbProID.Text, tbProName.Text, tbProPrice.Text, lbProUN.Text, tbProQuan.Text, payProduct}
'2.เอาค่าในตัวแปรอาร์เรย์ใส่ใน ListView
Dim dataLv As New ListViewItem(data)
lvProShow.Items.Add(dataLv)
dataLv = Nothing
For j As Integer = 0 To lvProShow.Items.Count - 1
Dim lv_item = lvProShow.Items(j)
total += lv_item.SubItems(6).Text
Next
'Process Price
total = total
vat = total * 0.07
netTotal = total + vat
'Output
tbNetTotal.Text = total.ToString("0.00")
tbNetVat.Text = vat.ToString("0.00")
tbNetTotalVat.Text = netTotal.ToString("0.00")
tbProID.Clear()
tbProName.Clear()
tbProPrice.Clear()
lbProUN.Text = ""
tbProQuan().Text = "1"
End If
---------------------------------------------------------------------------------------
//do-remove-item
For i As Integer = 0 To lvProShow.SelectedItems.Count - 1
Dim lvi As ListViewItem
lvi = lvProShow.SelectedItems(i)
lvProShow.Items.Remove(lvi)
Next
no = 0
Dim total As Double = 0.0
Dim vat As Double = 0.0
Dim netTotal As Double = 0.0
For j As Integer = 0 To lvProShow.Items.Count - 1
no += 1
lvProShow.Items(j).SubItems(0).Text = no.ToString()
total += lvProShow.Items(j).SubItems(6).Text
Next
'Process
total = total
vat = total * 0.07
netTotal = total + vat
'Output
tbNetTotal.Text = total.ToString("0.00")
tbNetVat.Text = vat.ToString("0.00")
tbNetTotalVat.Text = netTotal.ToString("0.00")
-------------------------------------------------------------------------------------------------