• 沒有找到結果。

應用程式設計-產品資料管理系統

N/A
N/A
Protected

Academic year: 2021

Share "應用程式設計-產品資料管理系統"

Copied!
22
0
0

加載中.... (立即查看全文)

全文

(1)

報告題名:

應用程式設計—產品資料管理系統

作者:林霈琦

系級:工業二甲

學號:D9529325

開課老師:陳亭志

課程名稱:應用程式設計

開課系所:工業工程與系統管理學系

開課學年:九十六學年度 第一學期

(2)

目 錄

方案總管………3

Form1 主選單………4

Form2 基本資料維護………6

Form3 瀏覽產品資料………7

Form4 全部瀏覽………8

Form5 瀏覽/修改/刪除資料………9

Form6 新增產品資料………14

Form7 統計及報表作業………16

習課心得 ………22

(3)

方案總管:

Form1:主選單,連結所有其他表單。

Form2:基本資料維護,可作資料之新增、修改、刪除等動作。

Form3:瀏覽產品資料,可選擇資料全部或逐筆瀏覽。

Form4:全部瀏覽,資料庫顯現共有 7 項商品。

Form5:逐筆瀏覽,可以前後檢視產品資料。

Form6:新增產品資料,隨時可以更新。

Form7:統計及報表作業,利用圖表來使數據更清楚。

(4)

Form1 執行畫面:

(5)

程式碼:

Public Class Form1

Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick Label3.Text = Now

'設置計時器'

End Sub

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click MsgBox("記得要再來唷!", MsgBoxStyle.OkOnly + MsgBoxStyle.Information, "嘿!")

'離開系統,關閉所有視窗'

End

End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Form2.Show() '離開主選單,移到Form2基本資料維護'

Me.Hide() '隱藏form1'

End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Form7.Show() '離開主選單,移到Form7統計及報表作業'

Me.Hide() '隱藏form1'

End Sub

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load My.Computer.Audio.Play("Something Right.WAV", AudioPlayMode.BackgroundLoop)

'背景音樂自動播放'

End Sub

Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click My.Computer.Audio.Stop()

'背景音樂關閉'

End Sub

Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click My.Computer.Audio.Play("Something Right.WAV", AudioPlayMode.BackgroundLoop)

'背景音樂再次開啟'

End Sub End Class

(6)

Form2 執行畫面:

程式碼:

Public Class Form2

Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click Form1.Show() '顯示Form1主選單'

Me.Close() '關閉Form2'

End Sub

Private Sub Form2_FormClosed(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosedEventArgs) Handles Me.FormClosed

'form2被關掉則回form1'

Form1.Show() End Sub

Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click Form3.Show() '顯示Form3瀏覽產品資料'

Me.Hide() '隱藏Form2'

(7)

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click form6.Show() '顯示Form6新增產品資料'

Me.Hide() '隱藏Form2'

End Sub

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click Form5.Show() '顯示Form5瀏覽/修改/刪除資料'

Me.Hide() '隱藏Form2'

End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Form5.Show() '顯示Form5' Me.Hide() '隱藏Form2' End Sub End Class

Form3 執行畫面:

程式碼:

Public Class Form3

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click Form2.Show() '顯示Form2'

Me.Close() '關閉Form3'

End Sub

(8)

Me.FormClosed

Form2.Show() '顯示Form2'

End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Form4.Show() '顯示Form4全部瀏覽'

Me.Hide() '隱藏Form3'

End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Form5.Show() '顯示Form5' Me.Hide() '隱藏Form3' End Sub End Class

Form4 執行畫面:

程式碼:

Public Class Form4

Private Sub Form4_FormClosed(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosedEventArgs) Handles Me.FormClosed

Me.產品的基本資料TableAdapter.Update(Me.Db1DataSet.產品的基本資料) Form3.Show() '顯示Form3'

End Sub

(9)

'TODO: 這行程式碼會將資料載入 'Db1DataSet.產品的基本資料' 資料表。您可以視需要進行移動或移除'

Me.產品的基本資料TableAdapter.Fill(Me.Db1DataSet.產品的基本資料) '表單開啟即填入所有產品資料'

End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Form3.Show() '顯示Form3'

Me.Close() '關閉Form4'

End Sub End Class

(10)
(11)

刪除:

程式碼:

Public Class Form5

Dim 目前資料位置 As Integer

Private Sub Form5_FormClosed(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosedEventArgs) Handles Me.FormClosed

Form3.Show() '顯示Form3'

End Sub

Private Sub Form5_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load '逐筆瀏覽可顯示產品圖片' 'TODO: 這行程式碼會將資料載入 'Db1DataSet.產品的基本資料' 資料表。您可以視需要進行移動或移除' Me.產品的基本資料TableAdapter.Fill(Me.Db1DataSet.產品的基本資料) 目前資料位置 = 0 TextBox1.Text = Me.Db1DataSet.產品的基本資料.Rows(0)(0) TextBox2.Text = Me.Db1DataSet.產品的基本資料.Rows(0)(1) TextBox3.Text = Me.Db1DataSet.產品的基本資料.Rows(0)(2) TextBox4.Text = Me.Db1DataSet.產品的基本資料.Rows(0)(3) TextBox5.Text = Me.Db1DataSet.產品的基本資料.Rows(0)(4) TextBox6.Text = Me.Db1DataSet.產品的基本資料.Rows(0)(5)

(12)

TextBox7.Text = Me.Db1DataSet.產品的基本資料.Rows(0)(7) On Error Resume Next

PictureBox1.Image = New Bitmap(Me.Db1DataSet.產品的基本資料.Rows(0)(6).ToString) End Sub

Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click Form3.Show() '顯示Form3'

Me.Close() '關閉Form5'

End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click '顯示上一筆產品的資料' If 目前資料位置 = 0 Then 目前資料位置 = Me.Db1DataSet.產品的基本資料.Rows.Count - 1 Else 目前資料位置 -= 1 End If Call 顯示資料() End Sub Sub 顯示資料() 'TODO: 這行程式碼會將資料載入 'Db1DataSet.產品的基本資料' 資料表。您可以視需要進行移動或移除' TextBox1.Text = Me.Db1DataSet.產品的基本資料.Rows(目前資料位置)(0) TextBox2.Text = Me.Db1DataSet.產品的基本資料.Rows(目前資料位置)(1) TextBox3.Text = Me.Db1DataSet.產品的基本資料.Rows(目前資料位置)(2) TextBox4.Text = Me.Db1DataSet.產品的基本資料.Rows(目前資料位置)(3) TextBox5.Text = Me.Db1DataSet.產品的基本資料.Rows(目前資料位置)(4) TextBox6.Text = Me.Db1DataSet.產品的基本資料.Rows(目前資料位置)(5) TextBox7.Text = Me.Db1DataSet.產品的基本資料.Rows(目前資料位置)(7) '若無產品圖片會顯示此商品無圖片'

On Error Resume Next

PictureBox1.Image = New Bitmap(Me.Db1DataSet.產品的基本資料.Rows(目前資料位置)(6).ToString) End Sub

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click '顯示下一筆產品的資料' If 目前資料位置 = Me.Db1DataSet.產品的基本資料.Rows.Count - 1 Then 目前資料位置 = 0 Else 目前資料位置 += 1 End If

(13)

Call 顯示資料() End Sub

Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click '顯示最後一筆的產品資料'

目前資料位置 = Me.Db1DataSet.產品的基本資料.Rows.Count - 1 Call 顯示資料()

End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click '顯示第一筆的產品資料'

目前資料位置 = 0 Call 顯示資料() End Sub

Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click '讀取使用者選取的產品資料並刪除' Dim 產品名稱, 供應商, 單位, 圖片 As String Dim 進貨成本, 售價 As Single Dim 產品編號, 庫存量 As Integer 產品編號 = Val(TextBox1.Text) 產品名稱 = TextBox2.Text 供應商 = TextBox3.Text 單位 = TextBox4.Text 進貨成本 = Val(TextBox5.Text) 售價 = Val(TextBox6.Text) 庫存量 = Val(TextBox7.Text) 圖片 = Me.Db1DataSet.產品的基本資料.Rows(目前資料位置)(6).ToString Me.產品的基本資料TableAdapter.Delete(產品編號, 產品名稱, 供應商, 單位, 進貨成本, 售價, 圖片, 庫存量) Me.產品的基本資料TableAdapter.Update(Me.Db1DataSet.產品的基本資料) MsgBox("資料刪除囉!", , "嘿!") End Sub

Private Sub Button7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button7.Click 'TODO: 這行程式碼會將資料載入 'Db1DataSet.產品的基本資料' 資料表。您可以視需要進行移動或移除' '讀取使用者更改的產品資料並更新' Me.Db1DataSet.產品的基本資料.Rows(目前資料位置)(1) = TextBox2.Text Me.Db1DataSet.產品的基本資料.Rows(目前資料位置)(2) = TextBox3.Text Me.Db1DataSet.產品的基本資料.Rows(目前資料位置)(3) = TextBox4.Text Me.Db1DataSet.產品的基本資料.Rows(目前資料位置)(4) = Val(TextBox5.Text)

(14)

Me.Db1DataSet.產品的基本資料.Rows(目前資料位置)(5) = Val(TextBox6.Text) Me.Db1DataSet.產品的基本資料.Rows(目前資料位置)(7) = Val(TextBox7.Text) Me.產品的基本資料TableAdapter.Update(Me.Db1DataSet.產品的基本資料) MsgBox("資料更新囉!", , "嘿!") End Sub End Class

Form6 執行畫面:

(15)

程式碼:

Public Class form6

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click '點選清空後,會清除所有欄位資料' TextBox2.Text = "" TextBox3.Text = "" TextBox4.Text = "" TextBox5.Text = "" TextBox6.Text = "" TextBox7.Text = "" End Sub

Private Sub form6_FormClosed(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosedEventArgs) Handles Me.FormClosed

Form2.Show() '顯示Form2'

End Sub

Private Sub form6_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 'TODO: 這行程式碼會將資料載入 'Db1DataSet.產品的基本資料' 資料表。您可以視需要進行移動或移除'

Me.產品的基本資料TableAdapter.Fill(Me.Db1DataSet.產品的基本資料) End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click '讀取使用者新增資料並新增' Dim 產品名稱, 供應商, 單位, 圖片 As String Dim 進貨成本, 售價 As Single Dim 庫存量 As Integer 產品名稱 = TextBox2.Text 供應商 = TextBox3.Text 單位 = TextBox4.Text 進貨成本 = Val(TextBox5.Text) 售價 = Val(TextBox6.Text) 圖片 = TextBox7.Text 庫存量 = TextBox1.Text Me.Db1DataSet.產品的基本資料.Add產品的基本資料Row(產品名稱, 供應商, 單位, 進貨成本, 售價, 圖片, 庫存量) Me.產品的基本資料TableAdapter.Update(Me.Db1DataSet.產品的基本資料) MsgBox("產品資料新增囉!", , "嘿!") End Sub

(16)

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click Form2.Show() '顯示Form2' Me.Close() '關閉Form6' End Sub End Class

Form7 執行畫面:

依售價—

(17)

依成本—

(18)

依供應商—

(19)

程式碼:

Public Class Form7

Private Sub Form7_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 'TODO: 這行程式碼會將資料載入 'Db1DataSet.產品的基本資料' 資料表。您可以視需要進行移動或移除'

Me.產品的基本資料TableAdapter.Fill(Me.Db1DataSet.產品的基本資料) End Sub

Private Sub 依售價ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 依售價 ToolStripMenuItem.Click '依售價顯示圖表' Dim 數目(10) As Integer Dim i As Integer For i = 0 To 9 數目(i) = 0 Next Dim 售價 As Single For i = 0 To Me.Db1DataSet.產品的基本資料.Count - 1 售價 = Me.Db1DataSet.產品的基本資料.Rows(i)(5) 數目(售價 \ 1000) += 1 Next Dim g As Graphics g = Me.CreateGraphics g.Clear(Me.BackColor) Dim b As Brush b = Brushes.SteelBlue For i = 0 To 9 g.FillRectangle(b, 150, 30 + 20 * i, 數目(i) * 10, 15)

g.DrawString("………" & (i + 1) * 1000, New Font("SimHei", 16), b, 10, 30 + 20 * i) Next

g.Dispose() End Sub

Private Sub 依庫存量ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 依庫 存量ToolStripMenuItem.Click

'依庫存量顯示圖表'

Dim 數目(10) As Integer

Dim i As Integer

(20)

數目(i) = 0 Next Dim 庫存量 As Single For i = 0 To Me.Db1DataSet.產品的基本資料.Count - 1 庫存量 = Me.Db1DataSet.產品的基本資料.Rows(i)(7) 數目(庫存量 \ 10) += 1 Next Dim g As Graphics g = Me.CreateGraphics g.Clear(Me.BackColor) Dim b As Brush b = Brushes.SteelBlue For i = 0 To 9 g.FillRectangle(b, 130, 30 + 20 * i, 數目(i) * 10, 15)

g.DrawString("………" & (i + 1) * 10, New Font("SimHei", 16), b, 10, 30 + 20 * i) Next

g.Dispose() End Sub

Private Sub 依供應商ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 依供 應商ToolStripMenuItem.Click

'依供應商畫圓餅圖'

Dim 供應商() = {"Yahoo", "Pchome"} Dim 項目數() = {0, 0} Dim i, j As Integer For i = 0 To Me.Db1DataSet.產品的基本資料.Count - 1 For j = 0 To 1 If Me.Db1DataSet.產品的基本資料.Rows(i)(2) = 供應商(j) Then 項目數(j) += 1 End If Next Next Dim g As Graphics g = Me.CreateGraphics g.Clear(Me.BackColor)

Dim 刷子() = {Brushes.Yellow, Brushes.MediumPurple} Dim 起點, 終點 As Integer

For i = 0 To 1 If i = 0 Then

(21)

Else 起點 = 終點 End If 終點 = 起點 + 360 * 項目數(i) / Me.Db1DataSet.產品的基本資料.Count g.FillPie(刷子(i), 50, 100, 120, 120, 起點, 終點 - 起點) g.FillRectangle(刷子(i), 200, 100 + i * 20, 50, 15)

g.DrawString(供應商(i), New Font("SimHei", 16), Brushes.SteelBlue, 270, 100 + i * 20) Next

g.Dispose() End Sub

Private Sub 回上一頁ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 回上 一頁ToolStripMenuItem.Click

Form1.Show() '顯示Form1'

Me.Close() '關閉Form7'

End Sub

Private Sub 列印ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 列印 ToolStripMenuItem.Click

'設定列印'

PrintDocument1.Print() End Sub

Private Sub 依成本ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 依成本 ToolStripMenuItem.Click '依成本顯示圖表' Dim 數目(10) As Integer Dim i As Integer For i = 0 To 9 數目(i) = 0 Next Dim 成本 As Single For i = 0 To Me.Db1DataSet.產品的基本資料.Count - 1 成本 = Me.Db1DataSet.產品的基本資料.Rows(i)(4) 數目(成本 \ 1000) += 1 Next Dim g As Graphics g = Me.CreateGraphics g.Clear(Me.BackColor) Dim b As Brush

(22)

b = Brushes.SteelBlue For i = 0 To 9

g.FillRectangle(b, 150, 30 + 20 * i, 數目(i) * 10, 15)

g.DrawString("………" & (i + 1) * 1000, New Font("SimHei", 16), b, 10, 30 + 20 * i) Next g.Dispose() End Sub End Class

修課心得:

我覺得和上個學期的 C 語言比較起來,VB 整體活潑多了,可以依自己的喜好

設計表單樣式,顏色也可自行更改,放上背景圖片更是讓整個程式的美觀加分,不

僅設計者陶醉於自己的傑作中,使用者也能分享其創意,最實際的例子莫過於我們

這次所教的期末報告,從 From1 一步一步的設計程式,每堂課的進度都使我收穫很

多,因為和之前教的大有不同,要開始學會如何從這個 From 連接到另一個 From,

還要插入資料庫來顯示資料,程式碼也較複雜繁瑣,深怕一個不留神就會遺漏一些

小步驟,所以要聚精會神的盯著老師的一舉一動,舉手投足間都透露著該注意的訊

息!

此外,這學期我也選修了電子商務概論,主要是建設屬於自己的購物網站,其

中所使用的 IIS-windows 元件在 VB 也有使用到,目的在將程式放至於網站上,可見

VB 能應用到的範圍相當廣闊。

在這個資訊化的社會中,電腦是必備物件,學習使用更是不可或缺的重要課題。

多方面去吸收不同的程式類型,在學校中學到的是基礎的應用,認識後可再選擇較

有興趣的程式繼續專研深造。應用程式設計這堂課使我獲益良多,既新鮮又實用的

程式很有趣,往後若有機會再接觸要學習更多更進一步的應用。

參考文獻

相關文件

二、本校於報名表中對於學生資料之蒐集,係為學生成績計算、資料整理及報 到作業等招生作業之必要程序,並作為後續資料統計及學生報到註冊作業

利用 Microsoft Access 資料庫管理軟體,在 PC Windows 作業系 統環境下,將給與的紙本或電子檔(如 excel

利用 Microsoft Access 資料庫管理軟體,在 PC Windows 作業系統環境 下,將給與的紙本或電子檔(如 excel

下列何者敘述錯誤?(A)鼎新 ERP 系統可以設定日期格式(西元\民國) (B)鼎新 ERP 系統可 以設定多種幣別資料 (C)鼎新 ERP 系統可以設計表單的簽核

 為了更進一步的提升與改善本校資訊管理系 的服務品質,我們以統計量化的方式,建立

(續下頁).. 報名資料若需修改(限於考生報名後更名、變更通訊方式及聯絡電話使用),期間若有

操作流程: 系統選單->財產管理系統->點選報廢申請單->填寫報廢申請單資料(主 單、明細)->點選確認

利用 Microsoft Access 資料庫管理軟體,在 PC Windows 作業系 統環境下,將給與的紙本或電子檔(如 excel