汽车零部件设计_汽车零部件查询系统设计
交通与汽车工程学院 课程设计说明书
课 程 名 称: 计算机应用基础课程设计 课 程 代 码: 6011339 题 目: 汽车零部件查询系统设计 年级/专业/班: 学 生 姓 名: 学 号: 开 始 时 间: 2012 年 4 月 1 日 完 成 时 间: 2012 年 4 月 12 日 课程设计成绩:
指导教师签名: 年 月 日
目 录
摘要 …………………………………………………………………………………2 1 引言 …………………………………………………………………………………3 2 本程序主要功能 …………………………………………………………………3 3 本程序结构设计 …………………………………………………………………4 4 程序设计界面 …………………………………………………………………4 5 程序代码 ……………………………………………………………………10 结论………………………………………………………………………………………30 致谢………………………………………………………………………………………31 参考文献…………………………………………………………………………………32
摘 要
随着计算机的普及程序的应用也越来越受到重视,本次课程设计使用 Visual Basic 作为开发工具,进行了汽车零部件查询系统设计的程序设计,本系统主要完成对汽车零部件的管理,包括库存的添加、删除等。系统可以完成对各类信息的追加、浏览、修改、查询和计算等功能。
汽车零部件查询系统广泛应用于4S 店汽车零部件的库存与销售管理工作中,要求其具有实用性强、使用方便、效率高和安全可靠等特点。本管理系统正是围绕以上几个方面进行开发的,在开发过程中充分考虑到本系统的应用特点,并进行了大量的检验,证明其的确达到了设计的要求,是一个已具备了实际应用能力的软件。
关键词: 汽车零部件 销售 库存 销售
1 引 言
1.1 问题的提出
为适合现代企业发展的需要, 汽车零部件管理已经成为困扰销售的一个难题, 由于其费时和繁琐性,企业迫切需要一种专门为零部件管理而服务的工具。为此, 简单的汽车零部件管理系统为此而制造出来。本简单程序是为汽车零部件管理而设计的, 内容简单,使用方便。程序稍加变更可以适合对资源分配方面的杂事加以处理。
作为当代大学生,熟练的操作计算机是一种必备的素质。本次设计会让我们更加熟悉VB 编程,把以前学过的一些东西又重新复习了一遍,并与实际结合起来,对我们能力的提升有了很大的帮助,还能促使我们在以后的实际应用中更好的应用VB 编程来设计一些数据库管理系统。
2 本程序主要功能
汽车零部件管理系统是典型的信息管理系统,其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备, 易使用等特点.
本系统主要完成对汽车零部件信息的管理,包括数据库中零件的入库和出库等。系统可以完成对各类信息的浏览、修改、查询对零件销售价格进行计算等功能。系统的核心是数据库中零件的余量,每一个零件的修改都将联动的影响其它的各项信息,当完成对数据的操作时系统会自动地完成数据库的修改。查询功能也是系统的核心之一,在系统中即有单条件查询和多条件查
询,也有精确查询和模糊查询,系统不仅有静态的条件查询,也有动态生成的条件查询,其目的都是为了方便用户使用。本系统有完整的报价查询,库存剩余量,零件名称,销售型号,匹配车型查询等等。
3 本程序结构设计
汽车零部件管理系统是典型的信息管理系统,其开发主要包括后台数据
库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备, 易使用等特点.
其中利用函数调用,查询功能,库存检索等完成此次设计。
4 程序设计界面 Form1:
Form2:
Form3:
Form4:
Form5:
Form6:
Form7:
Form8:
Form9:
Form10:
Form11:
Form12:
5 程序代码
(1)Form1:
Form2.Show
Unload Me
End Sub
Private Sub Form_KeyPress(KeyAscii As Integer)
Form2.Show
Unload Me
End Sub
Private Sub Image1_Click()
End Sub
(2)Form2:
Do While Not EOF(1)
Get #1, , pers
If Trim(Text2.Text) = Trim(pers.bh) Then
f = True
Form3.Show
Unload Form2
Exit Do
End If
Loop
Close
If f = False Then
t = t + 1
If t
MsgBox "用户不存在, 请重新输入!", vbOKOnly + vbInformation, "用户名错误" Else
MsgBox " 重试次数已到,即将退出本系统!", vbOKOnly + vbExclamation, " 用户名错误" End
Exit Sub
End If
End If
End Sub
Private Sub Command2_Click()
End
End Sub
(3)Form3:
Dim cars As qiche
Dim a(5)
Private Sub bz_Click()
Form9.Show
End Sub
Private Sub Command1_Click()
For i = 0 To 4
If Combo1(i).Text = "" Then
For j = 0 To Form12.List1(i).ListCount - 1
List3(i).AddItem Form12.List1(i).List(j)
Next j
Else
t = i
Call hunt(t)
End If
Next i
If Text1 "" And Text2 "" Then
Call hunt2
ElseIf Text1 = "" And Text2 "" Then Text1 = 0: Call hunt2
ElseIf Text1 "" And Text2 = "" Then Text2 = 10 ^ 10: Call hunt2
For j = 0 To Form12.List1(5).ListCount - 1
List3(5).AddItem Form12.List1(5).List(j)
Next j
End If
For k = 0 To 5
m = List3(k).ListCount
For j = 0 To m
If List3(k).List(j) "" Then
a(k) = a(k) + 1
End If
Next j
Next k
Max = a(0)
For i = 1 To 5
If a(i) > Max Then
Max = a(i)
End If
Next i
For k = 0 To Val(Max)
If List3(0).List(k) "" And List3(1).List(k) "" And List3(2).List(k) "" And List3(3).List(k) "" And List3(4).List(k) "" And List3(5).List(k) "" Then
"List2.AddItem List3(0).List(k) & List3(1).List(k) & List3(2).List(k) & List3(3).List(k) & List3(4).List(k) & List3(5).List(k)
End If
Next k
Frame1.Visible = False
"List2.Visible = True
End Sub
Frame1.Visible = False
End Sub
Private Sub Form_Load()
Frame1.Visible = False
"List2.Visible = False
End Sub
Private Sub glsj_Click()
Form4.Show
End Sub
Private Sub bk_Click()
Form10.Show
Form10.Frame1.Visible = True
End Sub
Private Sub kp_Click()
Form10.Show
Form10.Frame2.Visible = True
End Sub
Private Sub ljgl_Click()
Form12.Show
End Sub
Private Sub ss_Click()
"List2.Visible = True
Frame1.Visible = True
" List2.Visible = Not List2.Visible
"List2.Clear
End Sub
Sub hunt(t)
For i = 0 To Form12.List1(t).ListCount - 1
List3(t).AddItem Form12.List1(t).List(i), i
Else
List3(t).AddItem "", i
End If
Next i
End Sub
Sub hunt2()
For i = 0 To List1(5).ListCount - 1
If Val(Text1) Val(List1(5).List(i)) Then List3(5).AddItem List1(5).List(i), i
Else
List3(5).AddItem "", i
End If
Next i
End Sub
Private Sub tc_Click()
End
End Sub
(4)Form4:
Dim pers As manager
Private Sub Command1_Click()
Form5.Show
End Sub
Private Sub Command2_Click()
List1.RemoveItem List1.ListIndex
List2.RemoveItem List2.ListIndex
List3.RemoveItem List3.ListIndex
List4.RemoveItem List4.ListIndex
Private Sub Command3_Click()
If List1.Text = "" Then
MsgBox "请选择修改对象"
Else
Form6.Show
Form6.Text1 = List1.Text
Form6.Text2 = List3.Text
Form6.Combo1.Text = List2.Text
List1.RemoveItem List1.ListIndex
List2.RemoveItem List2.ListIndex
List3.RemoveItem List3.ListIndex
List4.RemoveItem List4.ListIndex
End If
End Sub
Private Sub Command4_Click()
Form3.Show
Unload Me
End Sub
Private Sub Form_Load()
i = 0
Open App.Path + "\mag.dat" For Random As #1
Do While Not EOF(1)
i = i + 1
Get #1, i, pers
List1.AddItem pers.bh, i - 1
List2.AddItem pers.xb, i - 1
List3.AddItem pers.xm, i - 1
List4.AddItem pers.mm, i - 1
End Sub
Private Sub List1_Click()
List2.ListIndex = List1.ListIndex
List3.ListIndex = List1.ListIndex
List4.ListIndex = List1.ListIndex
End Sub
Private Sub List2_Click()
List1.ListIndex = List2.ListIndex
List3.ListIndex = List2.ListIndex
List4.ListIndex = List2.ListIndex
End Sub
Private Sub List3_Click()
List1.ListIndex = List3.ListIndex
List2.ListIndex = List3.ListIndex
List4.ListIndex = List3.ListIndex
End Sub
Private Sub List4_Click()
List1.ListIndex = List4.ListIndex
List2.ListIndex = List4.ListIndex
List3.ListIndex = List4.ListIndex
End Sub
(5)Form5:
Dim pers As manager
Private Sub Command1_Click()
If Text1 = "" Or Text2 = "" Or Text3 = "" Or Combo1.Text = "" Then
MsgBox "请输入完整的信息"
Text1.SetFocus
If Text1 "" And Text2 "" And Text3 "" And Combo1.Text "" Then Form4.List1.AddItem Text1
Form4.List2.AddItem Combo1.Text
Form4.List3.AddItem Text2
Form4.List4.AddItem Text3
Call save
End If
Form4.Show
Unload Me
End Sub
Private Sub Command2_Click()
Form4.Show
Unload Me
End Sub
Private Sub Form_Load()
Text3 = ""
End Sub
(6)Form6:
Private Sub Command1_Click()
Form4.List1.AddItem Text1, 0
Form4.List2.AddItem Combo1.Text, 0
Form4.List3.AddItem Text2, 0
Form4.List4.AddItem Text4, 0
Call save
Form3.Show
Unload Me
End Sub
(7)Form7:
Private Sub Command1_Click()
Form12.List1(0).AddItem Text1, 0
Form12.List1(1).AddItem Text2, 0
Form12.List1(2).AddItem Text3, 0
Form12.List1(3).AddItem Text4, 0
Form12.List1(4).AddItem Text5, 0
Form12.List1(5).AddItem Text6, 0
Form3.Show
Unload Me
End Sub
Private Sub Command2_Click()
Form3.List1(0).AddItem Text1, 0
Form3.List1(1).AddItem Text2, 0
Form3.List1(2).AddItem Text3, 0
Form3.List1(3).AddItem Text4, 0
Form3.List1(4).AddItem Text5, 0
Form3.List1(5).AddItem Text6, 0
Call save2
Form3.Show
Unload Me
End Sub
Private Sub Form_Load()
End Sub
(8)Form8:
Private Sub Command1_Click()
Combo1(3).Text "" And Combo1(4).Text "" And Text1 "" Then
Form12.List1(0).AddItem Combo1(0).Text
Form12.List1(1).AddItem Combo1(1).Text
Form12.List1(2).AddItem Combo1(2).Text
Form12.List1(3).AddItem Combo1(3).Text
Form12.List1(4).AddItem Combo1(4).Text
Form12.List1(5).AddItem Text1
Form3.Show
Unload Me
Else
MsgBox "请写入完整的信息!"
End If
End Sub
Private Sub Command2_Click()
Form3.Show
Unload Me
End Sub
Private Sub Form_Load()
End Sub
(9)Form9:
Private Sub Text2_Change()
End Sub
Private Sub Text1_Change()
End Sub
Private Sub Timer1_Timer()
Text2 = Time
End Sub
(10)Form10:
Dim q
Private Sub Command1_Click()
Static q As Integer
If q = -1 Then q = List2.ListCount - 1
p = Val(List2.List(q))
Call xishi(p)
q = q - 1
End Sub
Private Sub Command2_Click()
Static q As Integer
If q > List2.ListCount - 1 Then q = 0
p = Val(List2.List(q))
Call xishi(p)
q = q + 1
Command1.Enabled = True
End Sub
Private Sub Command3_Click()
Form3.Show
Unload Me
End Sub
Private Sub Command4_Click()
p = Val(List2.List(0))
Call xishi(p)
End Sub
Private Sub Command5_Click()
p = Val(List2.List(List2.ListCount - 1))
Call xishi(p)
End Sub
Private Sub Form_Load()
End Sub
Private Sub Text3_Change()
List2.Clear
For i = 0 To Form12.List1(0).ListCount - 1
If Text3 "" And Text4 = "" Then
If Trim(Text3) = Trim(Form12.List1(0).List(i)) Then
List2.AddItem i
End If
End If
If Text3 "" And Text4 "" Then
If Trim(Form12.List1(0).List(i)) = Trim(Text3) And Trim(Form12.List1(1).List(i)) = Trim(Text4) Then
List2.AddItem i
End If
End If
Next i
If List2.ListCount > 0 Then
List2.ListIndex = 0
p = Val(List2.Text)
Call xishi(p)
Else
Text5(0) = ""
Text5(1) = ""
Text5(2) = ""
Text5(3) = ""
Text5(4) = ""
Text5(5) = ""
End If
If List2.ListCount > 1 Then Command2.Enabled = True
End Sub
Private Sub Text4_Change()
List2.Clear
For i = 0 To Form12.List1(0).ListCount - 1
If Text4 "" And Text3 = "" Then
If Trim(Text4) = Trim(Form12.List1(1).List(i)) Then
List2.AddItem i
End If
End If
If Text3 "" And Text4 "" Then
If Trim(Form12.List1(0).List(i)) = Trim(Text3) And Trim(Form12.List1(1).List(i)) = Trim(Text4) Then
List2.AddItem i
End If
End If
Next i
If List2.ListCount > 0 Then
List2.ListIndex = 0
p = Val(List2.Text)
Call xishi(p)
Else
Text5(0) = ""
Text5(1) = ""
Text5(2) = ""
Text5(3) = ""
Text5(4) = ""
Text5(5) = ""
End If
If List2.ListCount > 1 Then Command2.Enabled = True
End Sub
Private Sub Text1_Change()
List1.Clear
List1.AddItem "配件" & " " & " " & "零件型号" & " " & " " & "适用车型" & " " & " " & " " & " " & "发布日期" & " " & " " & " " & "单位" & " " & " " & " " & " " & " " & "价格"
For i = 0 To Form12.List1(0).ListCount - 1
If Text1 "" And Text2 = "" Then
If Trim(Form12.List1(0).List(i)) = Trim(Text1) Then
List1.AddItem Form12.List1(0).List(i) & Form12.List1(1).List(i) & Form12.List1(2).List(i) & Form12.List1(3).List(i) & Form12.List1(4).List(i) & Form12.List1(5).List(i)
End If
End If
If Text1 "" And Text2 "" Then
If Trim(Form12.List1(0).List(i)) = Trim(Text1) And Trim(Form12.List1(1).List(i)) = Trim(Text2) Then
List1.AddItem Form12.List1(0).List(i) & Form12.List1(1).List(i) & Form12.List1(2).List(i) & Form12.List1(3).List(i) & Form12.List1(4).List(i) & Form12.List1(5).List(i)
End If
End If
Next i
End Sub
Private Sub Text2_Change()
List1.Clear
List1.AddItem "配件" & " " & " " & "零件型号" & " " & " " & "适用车型" & " " & " " & " " & " " & "发布日期" & " " & " " & " " & "单位" & " " & " " & " " & " " & " " & "价格"
For i = 0 To Form12.List1(0).ListCount - 1
If Text1 = "" And Text2 "" Then
If Trim(Form12.List1(1).List(i)) = Trim(Text2) Then
List1.AddItem
Form12.List1(0).List(i) & Form12.List1(1).List(i) &
Form12.List1(2).List(i) & Form12.List1(3).List(i) & Form12.List1(4).List(i) & Form12.List1(5).List(i)
End If
End If
If Text1 "" And Text2 "" Then
If Trim(Form12.List1(0).List(i)) = Trim(Text1) And Trim(Form12.List1(1).List(i)) = Trim(Text2) Then
List1.AddItem Form12.List1(0).List(i) & Form12.List1(1).List(i) & Form12.List1(2).List(i) & Form12.List1(3).List(i) & Form12.List1(4).List(i) & Form12.List1(5).List(i)
End If
End If
Next i
End Sub
(11)Form11:
Dim cars As qiche
Dim a(5)
Private Sub Form_Load()
Open App.Path + "\car.dat" For Random As #2
Do While Not EOF(2)
i = i + 1
Get #2, i, cars
List1(0).AddItem cars.pj
List1(1).AddItem cars.ljxh
List1(2).AddItem cars.sych
List1(3).AddItem cars.fb
List1(4).AddItem cars.dw
List1(5).AddItem cars.jg
Loop
Close
End Sub
Private Sub List1_Click(Index As Integer) Select Case Index
Case 0
List1(5).ListIndex = List1(0).ListIndex List1(4).ListIndex = List1(0).ListIndex List1(3).ListIndex = List1(0).ListIndex List1(2).ListIndex = List1(0).ListIndex List1(1).ListIndex = List1(0).ListIndex Case 1
List1(5).ListIndex = List1(1).ListIndex List1(4).ListIndex = List1(1).ListIndex List1(3).ListIndex = List1(1).ListIndex List1(2).ListIndex = List1(1).ListIndex List1(0).ListIndex = List1(1).ListIndex Case 2
List1(5).ListIndex = List1(2).ListIndex List1(4).ListIndex = List1(2).ListIndex List1(3).ListIndex = List1(2).ListIndex List1(0).ListIndex = List1(2).ListIndex List1(1).ListIndex = List1(2).ListIndex Case 3
List1(5).ListIndex = List1(3).ListIndex List1(4).ListIndex = List1(3).ListIndex List1(0).ListIndex = List1(3).ListIndex List1(2).ListIndex = List1(3).ListIndex List1(1).ListIndex = List1(3).ListIndex Case 4
List1(5).ListIndex = List1(4).ListIndex
List1(0).ListIndex = List1(4).ListIndex List1(3).ListIndex = List1(4).ListIndex List1(2).ListIndex = List1(4).ListIndex List1(1).ListIndex = List1(4).ListIndex Case 5
List1(0).ListIndex = List1(5).ListIndex List1(4).ListIndex = List1(5).ListIndex List1(3).ListIndex = List1(5).ListIndex List1(2).ListIndex = List1(5).ListIndex List1(1).ListIndex = List1(5).ListIndex End Select
End Sub
(12)Form12:
Dim cars As qiche
Dim a(5)
Private Sub Command1_Click()
If List1(0).Text = "" Then
MsgBox "请选择要修改的零件"
Else
Form7.Show
Form7.Text1 = List1(0).Text
Form7.Text2 = List1(1).Text
Form7.Text3 = List1(2).Text
Form7.Text4 = List1(3).Text
Form7.Text5 = List1(4).Text
Form7.Text6 = List1(5).Text
List1(0).RemoveItem List1(0).ListIndex List1(1).RemoveItem List1(1).ListIndex List1(2).RemoveItem List1(2).ListIndex
List1(3).RemoveItem List1(3).ListIndex List1(4).RemoveItem List1(4).ListIndex List1(5).RemoveItem List1(5).ListIndex End If
End Sub
Private Sub Command2_Click()
Form8.Show
End Sub
Private Sub Command3_Click()
List1(0).RemoveItem List1(0).ListIndex List1(1).RemoveItem List1(1).ListIndex List1(2).RemoveItem List1(2).ListIndex List1(3).RemoveItem List1(3).ListIndex List1(4).RemoveItem List1(4).ListIndex List1(5).RemoveItem List1(5).ListIndex End Sub
Private Sub Command4_Click()
Form3.Show
Unload Me
End Sub
Private Sub Form_Load()
Open App.Path + "\car.dat" For Random As #2 Do While Not EOF(2)
i = i + 1
Get #2, i, cars
List1(0).AddItem cars.pj
List1(1).AddItem cars.ljxh
List1(2).AddItem cars.sych
List1(3).AddItem cars.fb
List1(4).AddItem cars.dw
List1(5).AddItem cars.jg
Loop
Close
End Sub
Private Sub List1_Click(Index As Integer) Select Case Index
Case 0
List1(5).ListIndex = List1(0).ListIndex List1(4).ListIndex = List1(0).ListIndex List1(3).ListIndex = List1(0).ListIndex List1(2).ListIndex = List1(0).ListIndex List1(1).ListIndex = List1(0).ListIndex Case 1
List1(5).ListIndex = List1(1).ListIndex List1(4).ListIndex = List1(1).ListIndex List1(3).ListIndex = List1(1).ListIndex List1(2).ListIndex = List1(1).ListIndex List1(0).ListIndex = List1(1).ListIndex Case 2
List1(5).ListIndex = List1(2).ListIndex List1(4).ListIndex = List1(2).ListIndex List1(3).ListIndex = List1(2).ListIndex List1(0).ListIndex = List1(2).ListIndex List1(1).ListIndex = List1(2).ListIndex Case 3
List1(5).ListIndex = List1(3).ListIndex List1(4).ListIndex = List1(3).ListIndex List1(0).ListIndex = List1(3).ListIndex List1(2).ListIndex = List1(3).ListIndex List1(1).ListIndex = List1(3).ListIndex
Case 4
List1(5).ListIndex = List1(4).ListIndex
List1(0).ListIndex = List1(4).ListIndex
List1(3).ListIndex = List1(4).ListIndex
List1(2).ListIndex = List1(4).ListIndex
List1(1).ListIndex = List1(4).ListIndex
Case 5
List1(0).ListIndex = List1(5).ListIndex
List1(4).ListIndex = List1(5).ListIndex
List1(3).ListIndex = List1(5).ListIndex
List1(2).ListIndex = List1(5).ListIndex
List1(1).ListIndex = List1(5).ListIndex
End Select
End Sub
结 论
在这次的设计过程中,我学到的不仅是知识,我还认识到许多事情。这次设计使我的编程水平提高了一大步,使我充分的认识到合作的可贵。由于这次设计涉及到数据库,我的学到了不少编程工具与数据库连接的知识,对数据库的操作有了进一步的了解。这次设计对我的综合能力是一次很好的锻炼,但是我必须承认自己的能力和知识还很肤浅。所以今后我的学习道路还是很漫长的。
致 谢
本次实验让我越发深入的了解了VB 程序,而这次设计的成功主要是得到了老师以及同学们的热心帮助,在此对那些帮助过我的人表示感谢,对学院领导和老师的帮助和支持表示敬意。最后,在这里我要衷心的感谢我们的指导老师,谢谢他的悉心指导和热心帮助。由于我水平有限,加之时间短暂,故此系统中还有许多不足之处,请老师批评指正,我会在以后的制作中不断改进,不断完善。我在以后的学习和生活中一定再接再厉,继续发扬艰苦奋斗的优良作风,努力学习,刻苦钻研,积极工作。以此次课程设计为契机,提升自己的综合素质。
参考文献
[1]杨明广 王秀华 Visual Basic 程序设计教程 中国科学技术出版社 2006.11
[2]王秀华 陈国超 Visual Basic 程序设计上机和级考实训教程 中国科学教育出版社 2006.11
[3]龚沛曾. Visual Basic程序设计简明教程(第二版). 高等教育出版社,2003
[4]曾强聪. 新编Visual Basic程序设计教程. 清华大学出版社,2004