• 沒有找到結果。

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

N/A
N/A
Protected

Academic year: 2021

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

Copied!
21
0
0

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

全文

(1)

報告題名:應用程式設計

-產品資料管理系統

作者:陳怡潔

系級:工業二甲

學號:D9568701

開課老師:陳亭志

課程名稱:應用程式設計

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

開課學年: 96 學年度 第 1 學期

(2)

目錄

表單介紹………P.1

form1 首頁………P.2

form2 基本資料維護………P.4

form3 瀏覽產品資料………P.6

form4 全部瀏覽………P.7

form5 瀏覽/修改/刪除資料………P.8

form6 新增產品資料………P.12

form7 統計及報表作業………P.14

心得………P.19

(3)

Form1-是主要表單,跟其他表單做連結。

Form2-為資料維護,可以瀏覽、新增、修改、刪除之功能。

Form3-瀏覽資料,可以選擇全部或是逐筆瀏覽。

Form4-瀏覽全部產品資料(5 筆)。

Form5-逐筆瀏覽資料,也可以刪除或是修改資料。

Form6-此表單為新增產品資料之功用。

Form7-統計產品資料上得成本、售價、庫存量(以統計圖顯

示)、供應商(以圓餅圖顯示)

,另外還有列印功能。

Db1 DataSet.xsd-為產品資料,做為各表單連結。

(4)

Form 1 執行檔:

程式碼:

PublicClass Form1

PrivateSub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick

'Now顯示現在時間'

Label3.Text = Now EndSub

PrivateSub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click

MsgBox("歡迎您再度光臨!", MsgBoxStyle.OkOnly + MsgBoxStyle.Information, "系統訊息")

End EndSub

PrivateSub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

'form2出現form1隱藏'

Form2.Show() Me.Hide() EndSub

(5)

PrivateSub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

Form7.Show() Me.Hide() EndSub

PrivateSub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) HandlesMyBase.Load

'打開網頁即有音樂'

My.Computer.Audio.Play("我們.wav", AudioPlayMode.BackgroundLoop) EndSub

PrivateSub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click

'按下此button音樂停止'

My.Computer.Audio.Stop() EndSub

PrivateSub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click

'按下此button音樂開始'

My.Computer.Audio.Play("我們.wav", AudioPlayMode.BackgroundLoop) EndSub

(6)

Form 2 執行檔:

程式碼:

PublicClass Form2

PrivateSub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click

'畫面回到form1'

Form1.Show() Me.Close() EndSub

PrivateSub Form2_FormClosed(ByVal sender AsObject, ByVal e As System.Windows.Forms.FormClosedEventArgs) HandlesMe.FormClosed 'Form2被關掉時回Form1'

Form1.Show() EndSub

(7)

System.EventArgs) Handles Button5.Click 'form3出現form2隱藏'

Form3.Show() Me.Hide() EndSub

PrivateSub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Form6.Show() Me.Hide() EndSub

PrivateSub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click

Form5.Show() Me.Hide() EndSub

PrivateSub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

Form5.Show() Me.Hide() EndSub EndClass

(8)

Form 3 執行檔:

程式碼:

PublicClass Form3

PrivateSub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click

'畫面form3回到form2'

Form2.Show() Me.Close() EndSub

PrivateSub Form3_FormClosed(ByVal sender AsObject, ByVal e As System.Windows.Forms.FormClosedEventArgs) HandlesMe.FormClosed 'Form3被關掉時回Form2'

Form2.Show() EndSub

PrivateSub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

'form4出現form3隱藏'

Form4.Show() Me.Hide() EndSub

PrivateSub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

Form5.Show() Me.Hide() EndSub EndClass

(9)

Form 4 執行檔:

PublicClass Form4

程式碼:

PrivateSub Form4_FormClosed(ByVal sender AsObject, ByVal e As System.Windows.Forms.FormClosedEventArgs) HandlesMe.FormClosed

Me.產品基本資料TableAdapter.Update(Me.Db1DataSet.產品基本資料) 'Form4被關掉時回Form3'

Form3.Show() EndSub

PrivateSub Form4_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) HandlesMyBase.Load

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

Me.產品基本資料TableAdapter.Fill(Me.Db1DataSet.產品基本資料) EndSub

PrivateSub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Form3.Show() Me.Close() EndSub

(10)
(11)

程式碼:

PublicClass Form5

Dim 目前資料位置 AsInteger

PrivateSub Form5_FormClosed(ByVal sender AsObject, ByVal e As System.Windows.Forms.FormClosedEventArgs) HandlesMe.FormClosed 'Form5被關掉時回Form2'

Form2.Show() EndSub

PrivateSub Form5_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) HandlesMyBase.Load

'顯示Db1DataSet.產品基本資料資料表'

Me.產品基本資料TableAdapter.Fill(Me.Db1DataSet.產品基本資料) 目前資料位置 = 0

Call 顯示資料() EndSub

PrivateSub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click

'畫面form5回到form2'

Form2.Show() Me.Close() EndSub

PrivateSub 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 EndIf Call 顯示資料() EndSub Sub 顯示資料() '將會顯示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)

(12)

TextBox7.Text = Me.Db1DataSet.產品基本資料.Rows(目前資料位置)(7) OnErrorResumeNext

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

EndSub

PrivateSub 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 EndIf Call 顯示資料() EndSub

PrivateSub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click

'會顯示Db1DataSet.產品基本資料的最後一筆資料'

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

EndSub

PrivateSub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

'會顯示Db1DataSet.產品基本資料的第一筆資料'

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

PrivateSub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click

'此程式可以將不要的資料刪除' Dim 產品名稱, 供應商, 單位, 圖片 AsString Dim 進貨成本, 售價 AsSingle Dim 產品編號, 庫存量 AsInteger 產品編號 = 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(產品編號, 產品名稱, 供應商, 單

(13)

位, 進貨成本, 售價, 圖片, 庫存量)

Me.產品基本資料TableAdapter.Update(Me.Db1DataSet.產品基本資料) '當資料刪除時會顯示資料刪除!'

MsgBox("資料刪除嘍!", , "系統訊息") EndSub

PrivateSub Button7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button7.Click

'可以更改資料表中的資料' 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) Me.Db1DataSet.產品基本資料.Rows(目前資料位置)(5) = Val(TextBox6.Text) Me.Db1DataSet.產品基本資料.Rows(目前資料位置)(7) = Val(TextBox7.Text) Me.產品基本資料TableAdapter.Update(Me.Db1DataSet.產品基本資料) '更改完成時會顯示資料更新!' MsgBox("資料更新嘍!", , "系統訊息") EndSub EndClass

(14)

Form 6 執行檔:

程式碼:

PublicClass Form6

PrivateSub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

'把打在textbox上的資料刪掉' TextBox2.Text = "" TextBox3.Text = "" TextBox4.Text = "" TextBox5.Text = "" TextBox6.Text = "" TextBox7.Text = "" EndSub

PrivateSub Form6_FormClosed(ByVal sender AsObject, ByVal e As System.Windows.Forms.FormClosedEventArgs) HandlesMe.FormClosed Form2.Show()

EndSub

PrivateSub Form6_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) HandlesMyBase.Load

(15)

Me.產品基本資料TableAdapter.Fill(Me.Db1DataSet.產品基本資料) EndSub

PrivateSub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

'可以把打在textbox的資料新增' Dim 產品名稱, 供應商, 單位, 圖片 AsString Dim 進貨成本, 售價 AsSingle Dim 庫存量 AsInteger 產品名稱 = 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("產品資料新增嘍!", , "系統訊息") EndSub

PrivateSub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click

Form2.Show() Me.Close() EndSub

(16)
(17)

程式碼:

PublicClass Form7

PrivateSub Form7_FormClosed(ByVal sender AsObject, ByVal e As System.Windows.Forms.FormClosedEventArgs) HandlesMe.FormClosed 'Form7被關掉時回Form1'

Form1.Show() EndSub

PrivateSub Form7_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) HandlesMyBase.Load

'把Db1DataSet.產品基本資料戴入form7'

Me.產品基本資料TableAdapter.Fill(Me.Db1DataSet.產品基本資料) EndSub

PrivateSub 依售價ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 依售價ToolStripMenuItem.Click

'售價顯示10000,2000...,100000' Dim 數目(10) AsInteger Dim i AsInteger For i = 0 To 9 數目(i) = 0 Next Dim 售價 AsSingle For i = 0 ToMe.Db1DataSet.產品基本資料.Count - 1 售價 = Me.Db1DataSet.產品基本資料.Rows(i)(5) 數目(售價 \ 10000) += 1 Next Dim g As Graphics

(18)

g = Me.CreateGraphics g.Clear(Me.BackColor) '所出現的字與長方圖顯示藍色的' Dim b As Brush b = Brushes.Blue For i = 0 To 9 '調整長方圖的大小與之間的距離' g.FillRectangle(b, 155, 35 + 20 * i, 數目(i) * 10, 15) '調整字的大小與字體和之間的距離'

g.DrawString("~~" & (i + 1) * 10000, New Font("Swis721 BlkEx BT", 14), b, 10, 30 + 20 * i)

Next g.Dispose() EndSub

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

'Form7被關掉時回Form1'

Form1.Show() Me.Close() EndSub

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

'打上產品的供應商'

Dim 供應商() = {"Eabay", "Yahoo"} Dim 項目數() = {0, 0} Dim i, j AsInteger For i = 0 ToMe.Db1DataSet.產品基本資料.Count - 1 For j = 0 To 1 IfMe.Db1DataSet.產品基本資料.Rows(i)(2) = 供應商(j) Then 項目數(j) += 1 EndIf Next Next Dim g As Graphics g = Me.CreateGraphics g.Clear(Me.BackColor) '顏色分別為黃色和紅色'

Dim 刷子() = {Brushes.Yellow, Brushes.Red} Dim 起點, 終點 AsInteger

'圓形圖'

For i = 0 To 1 If i = 0 Then

(19)

起點 = 0 Else 起點 = 終點 EndIf 終點 = 起點 + 360 * 項目數(i) / Me.Db1DataSet.產品基本資 料.Count '圓形圖上分配的位置' g.FillPie(刷子(i), 50, 100, 120, 120, 起點, 終點 - 起點) g.FillRectangle(刷子(i), 200, 100 + i * 25, 50, 15) '所顯示的字型與大小與距離'

g.DrawString(供應商(i), New Font("Swis721 BlkEx BT", 14), Brushes.Black, 270, 100 + i * 25)

Next g.Dispose() EndSub

PrivateSub 依成本ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 依成本ToolStripMenuItem.Click

'成本顯示10000,2000...,100000' Dim 數目(10) AsInteger Dim i AsInteger For i = 0 To 9 數目(i) = 0 Next Dim 成本 AsSingle For i = 0 ToMe.Db1DataSet.產品基本資料.Count - 1 成本 = Me.Db1DataSet.產品基本資料.Rows(i)(4) 數目(成本 \ 10000) += 1 Next '所出現的字與長方圖顯示藍色的' Dim g As Graphics g = Me.CreateGraphics g.Clear(Me.BackColor) Dim b As Brush b = Brushes.Blue For i = 0 To 9 '調整長方圖的大小與之間的距離' g.FillRectangle(b, 155, 35 + 20 * i, 數目(i) * 10, 15) '調整字的大小與字體和之間的距離'

g.DrawString("~~" & (i + 1) * 10000, New Font("Swis721 BlkEx BT", 14), b, 10, 30 + 20 * i)

Next g.Dispose()

(20)

EndSub

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

'庫存量顯示10,20...,100' Dim 數目(10) AsInteger Dim i AsInteger For i = 0 To 9 數目(i) = 0 Next Dim 庫存量 AsSingle For i = 0 ToMe.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.Blue For i = 0 To 9 '調整長方圖的大小與之間的距離' g.FillRectangle(b, 100, 35 + 20 * i, 數目(i) * 10, 15) '調整字的大小與字體和之間的距離'

g.DrawString("~~" & (i + 1) * 10, New Font("Swis721 BlkEx BT", 14), b, 10, 30 + 20 * i)

Next g.Dispose() EndSub

'按下此鍵可以列印'

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

PrintDocument1.Print() EndSub

(21)

心得:

一開始上 vb 課時以為會很陌生不知道該怎麼辦,但是後來

上課以後發現,其實不會耶,上課後不會有陌生感也許是因

為之前有上過 c++的關係吧!而且學起來 vb 似乎比較平怡近

人,一開始上課只是跟著老師在打,對程式內容都略知一二,

不過漸漸的自己研究&詢問,似乎明白了程式內容,知道程

式是在講什麼東西,可以自己發現錯誤在哪裡,當執行成功

時,還真是雀躍呢!

而對於 vb 比較新鮮的就是元件吧,到現在也可以使用元

件使用的比較順手了;而做這期末報告,似乎是讓我懂很多

的源頭,做這報告也讓我了解了與資料庫的連結。

其實學程式並不難,就是要有積極的心,打砂鍋問到底,這

學期學了 vb 讓我對學程式這件事多了許多信心,人阿,就是

要被逼出來的;期許自己可以對語言可以懂得更多的知識,

能夠好好的去研究他。

參考文獻

相關文件

在舉辦這次座談會之前,其實有先邀請大家填寫問卷。彙整問卷結果以及會 議裡提出的意見後,我們發現有許多地方是有衝突的,好比說課程太難

在山上,課輔是一個媒介,有了課輔班,孩子找到下課可以 去的地方,也因為透過課輔,聯繫起部落裡大家的情感「山上的 孩子真的很皮,很難教……」、「……就算小孩問 ( 家長 ),他 們

北韓,對我們來說是一個既熟悉、又陌生的國家。我們熟悉的是它的過去,陌生的是它

我一開始對這門課的目標只是想單純上課認真抄筆記、作業好好 寫、絕不早退外,還從未想過會上台報告。雖然我是老師點到要

備註 表列課程 以系上開 設之課程 為主. 以系上開

備註 表列課程 以系上開 設之課程 為主. 以系上開

 另外,教師可考慮以「活動二」作為課 堂預習,讓學生先對粵港澳大灣區具備 初步的認識,然後於課堂上利用電子應 用程式(如 Socrative 或

1970 年代末期至 1995 年:許多農業生技公司開始投入研發以迄 1995 年第 一個產品上市。Monsanto 為此時期最早的投資者,且為第一個將農業生技產 品上市的公司,其他如 Syngenta 與