VB创建一个应用程序,能对Access数据库文件中的数据进行增、删、改和查询操作(查询必须使用SQL语句)。

作者&投稿:贝嵇 (若有异议请与网页底部的电邮联系)
VB创建一个应用程序,能对Access数据库文件中的数据进行增、删、改和查询操作(查询必须使用SQL语句)。~

给你四句:
删除:docmd.RunSQL "delete from dehz"
增加:docmd.RunSQL "INSERT INTO lsde (图号, 组件号, ) SELECT [zqd]![图号] AS 表达式1, 定额.组件号, FROM zqd INNER JOIN 定额 ON zqd.组件号 = 定额.组件号 WHERE ((([定额]![组件号])=[zqd]![组件号])) ORDER BY [zqd]![图号], 定额.组件号 "
查询:docmd.RunSQL "select * from 表名"
更改:docmd.RunSQL "UPDATE 学生成绩 SET 学生成绩.学号 = '12345'"

我知道 你找人呗

我做的一个用来登记银行卡号的系统,实用简单型的,ADO链接数据库,时间也很赶,我觉得刚好合适,改了一下,LZ看看:

登记银行卡号系统.vbp:

Type=Exe
Form=登记银行卡号系统.frm
Reference=*\G{00020430-0000-0000-C000-000000000046}#2.0#0#C:\windows\system32\stdole2.tlb#OLE Automation
Object={F9043C88-F6F2-101A-A3C9-08002B2F49FB}#1.2#0; comdlg32.ocx
Object={831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.0#0; mscomctl.ocx
IconForm="Form1"
Startup="Form1"
HelpFile=""
Title="登记银行卡号系统"
ExeName32="登记银行卡号系统.exe"
Command32=""
Name="登记银行卡号系统"
HelpContextID="0"
CompatibleMode="0"
MajorVer=1
MinorVer=0
RevisionVer=0
AutoIncrementVer=0
ServerSupportFiles=0
VersionCompanyName="微软中国"
CompilationType=0
OptimizationType=0
FavorPentiumPro(tm)=0
CodeViewDebugInfo=0
NoAliasing=0
BoundsCheck=0
OverflowCheck=0
FlPointCheck=0
FDIVCheck=0
UnroundedFP=0
StartMode=0
Unattended=0
Retained=0
ThreadPerObject=0
MaxNumberOfThreads=1

[MS Transaction Server]
AutoRefresh=1

登记银行卡号系统.frm:

VERSION 5.00
Object = "{F9043C88-F6F2-101A-A3C9-08002B2F49FB}#1.2#0"; "comdlg32.ocx"
Object = "{831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.0#0"; "mscomctl.ocx"
Begin VB.Form Form1
BorderStyle = 4 'Fixed ToolWindow
Caption = "登记银行卡号系统"
ClientHeight = 6555
ClientLeft = 3135
ClientTop = 2385
ClientWidth = 11535
Icon = "登记银行卡号系统.frx":0000
LinkTopic = "Form1"
LockControls = -1 'True
MaxButton = 0 'False
MinButton = 0 'False
ScaleHeight = 6555
ScaleWidth = 11535
ShowInTaskbar = 0 'False
Begin VB.ComboBox Combo1
Height = 300
ItemData = "登记银行卡号系统.frx":0A02
Left = 7350
List = "登记银行卡号系统.frx":0A27
TabIndex = 5
Text = "中国工商银行 "
Top = 210
Width = 1695
End
Begin VB.Timer Timer1
Enabled = 0 'False
Interval = 1
Left = 5100
Top = 4290
End
Begin VB.CommandButton Command3
Caption = "导出Excel"
Height = 465
Left = 9900
TabIndex = 14
Top = 210
Width = 1305
End
Begin MSComctlLib.ProgressBar Pro
Height = 345
Left = 450
TabIndex = 13
Top = 3120
Visible = 0 'False
Width = 10365
_ExtentX = 18283
_ExtentY = 609
_Version = 393216
Appearance = 1
End
Begin MSComDlg.CommonDialog CommonDialog1
Left = 5970
Top = 4260
_ExtentX = 847
_ExtentY = 847
_Version = 393216
End
Begin VB.TextBox Text5
Height = 270
Left = 1050
TabIndex = 2
Text = "请输入确认ID"
Top = 720
Width = 1905
End
Begin VB.TextBox Text4
BeginProperty Font
Name = "宋体"
Size = 15
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 5100
Left = 2790
MultiLine = -1 'True
ScrollBars = 2 'Vertical
TabIndex = 9
Top = 1290
Width = 8655
End
Begin VB.CommandButton Command2
Caption = "重输"
Height = 315
Left = 8640
TabIndex = 7
Top = 780
Width = 1065
End
Begin VB.CommandButton Command1
Caption = "输入"
Height = 315
Left = 7320
TabIndex = 6
Top = 765
Width = 1065
End
Begin VB.TextBox Text3
Height = 270
Left = 5070
TabIndex = 4
Text = "请输入确认银行卡号"
Top = 780
Width = 1905
End
Begin VB.TextBox Text2
Height = 270
Left = 5040
TabIndex = 3
Text = "请输入银行卡号"
Top = 210
Width = 1905
End
Begin VB.ListBox List1
Height = 5100
ItemData = "登记银行卡号系统.frx":0AB1
Left = 180
List = "登记银行卡号系统.frx":0AB3
TabIndex = 8
Top = 1290
Width = 2415
End
Begin VB.TextBox Text1
Height = 270
Left = 1050
TabIndex = 1
Text = "请输入ID"
Top = 210
Width = 1905
End
Begin VB.Label Label2
AutoSize = -1 'True
BackStyle = 0 'Transparent
Caption = "ID"
Height = 180
Left = 180
TabIndex = 12
Top = 735
Width = 180
End
Begin VB.Label Label1
AutoSize = -1 'True
BackStyle = 0 'Transparent
Caption = "确认银行卡号"
Height = 180
Left = 3900
TabIndex = 11
Top = 795
Width = 1080
End
Begin VB.Label YHKH
AutoSize = -1 'True
BackStyle = 0 'Transparent
Caption = "银行卡号"
Height = 180
Left = 4200
TabIndex = 10
Top = 225
Width = 720
End
Begin VB.Label XH
AutoSize = -1 'True
BackStyle = 0 'Transparent
Caption = "ID"
Height = 180
Left = 180
TabIndex = 0
Top = 225
Width = 180
End
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit
Dim conn, rs, Application, WorkBook, Sheet, i As Integer, j As Integer
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long

Private Const INVALID_HANDLE_VALUE = -1
Private Const LB_FINDSTRING = &H18F

Dim selectIndex As Long

Private Sub Command1_Click()
If Text5 <> "" And Text5 <> Text1 Then
MsgBox "输入学号不一致"
ElseIf Text3 = "" Or Text3 <> Text2 Then
MsgBox "输入银行卡号不一致"
ElseIf List1.ListIndex = -1 Then
MsgBox "没有该记录,请确认该学号 "
ElseIf Len(Combo1.Text) > 25 Then
MsgBox "银行输入超长"
Else
If InStr(rs("id"), Trim(Text1)) > 0 Then
rs("user_yhkh") = Text3
rs("user_yh") = Combo1.Text
rs.Update
MsgBox "保存成功"
Else
rs.Close
rs.open "select * from [TrainAttendant] where id='" & Trim(Text1) & "'", conn, 1, 3
If Not rs.EOF Then
rs("user_yhkh") = Text3
rs("user_yh") = Combo1.Text
rs.Update
MsgBox "保存成功"
Else
MsgBox "未知错误"
End If
rs.Close
rs.open "select * from [TrainAttendant] order by id asc", conn, 1, 3
selectIndex = 0
End If
End If
End Sub

Private Sub Command2_Click()
Text1 = ""
Text2 = ""
Text3 = ""
Text5 = ""

End Sub

Private Sub Command3_Click()
CommonDialog1.Filter = "EXCEL文件|*.xls"
CommonDialog1.ShowSave
If CommonDialog1.FileName = "" Then
Exit Sub
End If
Form1.Enabled = False
Set Application = CreateObject("Excel.Application") '建立EXCEL对象
Set WorkBook = Application.Workbooks.Add() '建立一个新的Excel文档
Set Sheet = WorkBook.Sheets(1) '选择sheet1
i = 0
rs.Close
rs.open "select * from [TrainAttendant] where len(trim(user_yhkh))>0 order by id asc", conn, 1, 3
For i = 0 To rs.fields.Count - 2
Sheet.Cells(1, i + 1).Value = changeName(rs.fields(i).Name)
Next
Pro.Value = 0
Pro.Visible = True
rs.movefirst
i = 1
j = 1
If Not rs.EOF Then
Pro.Max = rs.recordcount
Pro.Value = 1
End If
Timer1.Enabled = True
End Sub

Private Sub Form_Load()
selectIndex = 0
Set conn = CreateObject("adodb.connection")
Set rs = CreateObject("adodb.recordset")
conn.open "provider=microsoft.jet.oledb.4.0;data source=" & App.Path & "\qinguanlieche"
rs.open "select * from [TrainAttendant] order by id asc", conn, 1, 3
Do While Not rs.EOF
List1.AddItem (rs("id"))
rs.movenext
Loop
rs.movefirst
End Sub

Private Sub Form_Unload(Cancel As Integer)
rs.Close
conn.Close
Set conn = Nothing
End Sub

Private Sub List1_Click()
If List1.ListIndex <> -1 Then
rs.Move List1.ListIndex - selectIndex, 0
selectIndex = List1.ListIndex
If Not (rs.EOF Or rs.bof Or List1.ListIndex = -1) Then
Dim i As Integer: i = 0
Text4 = ""
For i = 0 To rs.fields.Count - 2
Text4 = Text4 & changeName(rs.fields(i).Name) & " " & changeName2(rs.fields(i).Name, rs.fields(i).Value) & vbCrLf
Next
End If
Else
Text4 = "没有可用记录"
End If
End Sub

Private Sub Text1_GotFocus()
Text1.SelStart = 0
Text1.SelLength = Len(Text1)
End Sub

Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
Text5.SetFocus
End If
End Sub
Private Sub Text2_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
Text3.SetFocus
End If
End Sub
Private Sub combo1_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
Call Command1_Click
End If
End Sub
Private Sub text3_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
Combo1.SetFocus
End If
End Sub

Private Sub Text5_GotFocus()
Text5.SelStart = 0
Text5.SelLength = Len(Text5)
End Sub

Private Sub Text2_GotFocus()
Text2.SelStart = 0
Text2.SelLength = Len(Text2)
End Sub

Private Sub Text1_Change()
List1.ListIndex = SendMessage(List1.hwnd, LB_FINDSTRING, INVALID_HANDLE_VALUE, ByVal CStr(Text1.Text))
End Sub

Private Sub Text3_GotFocus()
Text3.SelStart = 0
Text3.SelLength = Len(Text3)
End Sub

Private Function changeName(str)
Select Case str
Case "ID": changeName = "ID"
Case "user_Yhkh": changeName = "银行卡号"
Case "user_Yh": changeName = "银行"
End Select
End Function

Private Function changeName2(str1, str2)
Select Case str1
case "id": changeName2 = str2
Case Else: changeName2 = str2
End Select
End Function

Private Sub Text5_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
Text2.SetFocus
End If
End Sub

Private Sub Timer1_Timer()
If rs.EOF Then
WorkBook.saveas CommonDialog1.FileName
Timer1.Enabled = False
Pro.Visible = False
' Sheet.quit
' WorkBook.quit
Application.quit
Set Application = Nothing
Set WorkBook = Nothing
Set Sheet = Nothing
MsgBox "导出成功"
Form1.Enabled = True
rs.Close
rs.open "select * from [TrainAttendant] order by id asc", conn, 1, 3
selectIndex = 0
Else
Pro.Value = j
j = j + 1
For i = 0 To rs.fields.Count - 2
Sheet.Cells(j, i + 1).NumberFormatLocal = "@"
Sheet.Cells(j, i + 1).Value = CStr(changeName2(rs.fields(i).Name, rs.fields(i).Value) & " ")
Next
rs.movenext
End If
End Sub

Access数据库 qinguanlieche 数据表 TrainAttendant :
ID 自动编号
user_Yhkh 文本 25
user_Yh 文本 25

数据表我改过,楼主可以自己添加字段试试
刚刚测试过,没问题
用VB6.0打开调试会提示错误,但可以调试,主要是因为有个一非文本文件数据获取不到
楼主还有不明白的HI我吧

参考文档空间文章:
http://hi.baidu.com/xnzhrx/blog/item/8833b54ce1ff4cfdd62afca5.html

提问前可以先找找啊
很多问题都是有人问过的

http://zhidao.baidu.com/question/88577440.html

Dim a As String

Private Sub Combo1_Click()
If Combo1.ListIndex = 0 Then
Text1.Enabled = True
Text2.Enabled = True
Text3.Enabled = False
Combo3.Enabled = False
ElseIf Combo1.ListIndex = 1 Then
Text3.Enabled = True
Text1.Enabled = False
Text2.Enabled = False
Combo3.Enabled = False
ElseIf Combo1.ListIndex = 2 Then
Combo3.Enabled = True
Text1.Enabled = False
Text2.Enabled = False
Text3.Enabled = False
End If

End Sub

Private Sub Command1_Click()
If Combo1.ListIndex = -1 Then
MsgBox "请选择查询方式", , "提示"
ElseIf Combo1.ListIndex = 0 Then
Adodc1.CommandType = adCmdUnknown
If Text2.Text = "" Then
MsgBox "查询范围上限不可为空", , "提示"
Else
Adodc1.RecordSource = "select * from 基本信息 where 年龄>= " & Text1.Text & " and 年龄<= " & Text2.Text & " "
Adodc1.Refresh
End If
ElseIf Combo1.ListIndex = 1 Then
Adodc1.CommandType = adCmdUnknown
If Text3.Text = "" Then
MsgBox "确定内容为空?"
Adodc1.RecordSource = "select*from 基本信息 where 学号='" & Text3.Text & "'"
Adodc1.Refresh
Else
Adodc1.RecordSource = "select*from 基本信息 where 学号='" & Text3.Text & "'"
Adodc1.Refresh
End If
ElseIf Combo1.ListIndex = 2 Then
Adodc1.CommandType = adCmdUnknown
Adodc1.RecordSource = "select * from 基本信息 where 专业='" & Combo3.Text & "' "
Adodc1.Refresh
End If

End Sub

Private Sub Command2_Click()
Adodc1.Recordset.AddNew
End Sub

Private Sub Command3_Click()
Adodc1.Recordset.Delete
End Sub

Private Sub Command4_Click()
Adodc1.CommandType = adCmdUnknown
Adodc1.RecordSource = "select * from 基本信息"
Adodc1.Refresh
End Sub

Private Sub Command5_Click()
a = InputBox("请输入查询对象字段", "自定义查询")
Adodc1.CommandType = adCmdUnknown
Adodc1.RecordSource = "select*from 基本信息 where a"
Adodc1.Refresh
End Sub

Private Sub Form_Load()
Adodc1.ConnectionString = "provider=microsoft.jet.oledb.4.0;data source=" + App.Path + "\" + "学生数据库.mdb"
Adodc1.CommandType = adCmdUnknown
Adodc1.RecordSource = "select * from 基本信息"
Adodc1.Refresh
End Sub

用SQL吧!

我发给你


编写一个java应用程序,用两个for循环语句分别输出大写和小写的“字母...
public class ZiMu { public static void main(String[] args) { char a[]=new char[26]; char b[]=new char[26]; int i=0,j=0; for(a[i]='a';a[a.length-1]<'z';i++,a[i]++) { System.out.print(a[i]+" "); a[i + 1] = a[i]; } for(b...

c#编写一个windows应用程序,能将窗体背景颜色1秒钟随机变换一次._百度...
定义一个Timer,设置timer的Interval属性为1000毫秒,启用timer。在timer的tick事件中加入 private void timer1_Tick(object sender, EventArgs e) { Random r = new Random(); this.BackColor = Color.FromArgb(255, r.Next(256), r.Next(256), r.Next(256)); }窗体背景每隔1秒会...

如何用bat文件启动一个exe文件?
1、新建一个txt文本,然后重命名为.bat的文件(比如:testbat.bat)。2、然后进行编辑,输入“start calc.exe”。3、另存文本文档为bat 格式,下图为更改为bat格式的文件。4、右键点击以管理员身份运行。5、运行后时,弹出对话框,点击是允许更改。6、下图就是运行出的计算器程序。

编写一个Java应用程序,输出全部的大写英文字母
public class Demo03 {public static void main(String[] args) {for(int i=0;i<26;i++){System.out.print((char)('A' + i) + " ");}}}输出结果:A B C D E F G H I J K L M N O P Q R S T U V W X Y Z ...

编写一个程序,输入直角三角形两条直角边a和b的长度,利用勾股定理计算斜 ...
printf("请输入直角三角形两条直角边长:a=?,b=?\\n");\/\/提示输入ab的边长值 scanf("%f%f",&a,&b);\/\/输入边长值 c=sqrt(pow(a,2)+pow(b,2));\/\/利用勾股定理计算斜边的长度 printf("c=%.2f\\n",c);\/\/输出斜边边长值并保留两位小数 } 勾股定理是一个基本的几何定理,指直角三角形...

计算机系统软件
以下哪些属于计算机系统软件? 1.BASIC源程序是用BASIC语言编写的一个应用程序,所以它不是系统软件2. 监控、诊断程序--未说清具体功能,无从判断3.FoxPro库文件--整个FoxPro软件(包括程序、说明文档和数据)是系统软件,但是FoxPro的数据库文件只是FoxPro软件的一个组成部分。 4.编辑程序--文字编辑程序不是系统软件。

C# 创建一个控制台应用程序,在该应用程序中,创建两个函数;
else if (comboBox1.Text.Equals("B")){ label1.Text=FirFunction(1,2);} else if (comboBox1.Text.Equals("C")){ label1.Text=FirFunction(1,3);} else if (comboBox1.Text.Equals("X")){ Close();} } 执行界面:如果还不会的话,给我邮箱,将刚才编好的应用程序项目发给你。

#Java编程# 编写一个应用程序创建两个线程,一个线程打印输出1~100之间...
import java.util.Random;class A extends Thread { int i=1;Random r=new Random();public void run(){ while(i<100){ System.out.println("奇数:"+i);i+=2;try { Thread.sleep(r.nextInt(500));} catch(InterruptedException e){ e.printStackTrace();};} } } class B implements ...

c#编写一个应用程序,根据用户输入的两个整数,分别输出者两个整数的...
题目(1)static void Main(string[] args){ Console.Write("请输入第一个整数:");int a = Convert.ToInt32(Console.ReadLine());Console.Write("请输入第二个整数:");int b = Convert.ToInt32(Console.ReadLine());Console.WriteLine("a + b:" + (a + b).ToString());Console....

用java编程定义两个类A和B, 类A中定义一个char类型属性x(将其赋值为...
class A{ private char x = 'A';public void Myprint(){ System.out.println("A[ x=" +x+" ]");} } class B extends A{ private int y = 16;private String s = "java";public void MyPrint(){ System.out.println("B[ y = "+y+" s= "+s+" ]");} public void Print...

永城市13283649225: VB创建一个应用程序,能对Access数据库文件中的数据进行增、删、改和查询操作(查询必须使用SQL语句). -
艾轮牛黄: 给你四句:删除:docmd.RunSQL "delete from dehz"增加:docmd.RunSQL "INSERT INTO lsde (图号, 组件号, ) SELECT [zqd]![图号] AS 表达式1, 定额.组件号, FROM zqd INNER JOIN 定额 ON zqd.组件号 = 定额.组件号 WHERE ((([定额]![组件号])=[zqd]![组件号])) ORDER BY [zqd]![图号], 定额.组件号 " 查询:docmd.RunSQL "select * from 表名" 更改:docmd.RunSQL "UPDATE 学生成绩 SET 学生成绩.学号 = '12345'"

永城市13283649225: 创建一个VB应用程序 能对ACCESS数据库使用SQL语句查询
艾轮牛黄: 具体做法: 新建工程时选数据工程,此时VB6集成调试环境左边工具箱内已加载了有关数据库编程必须的控件. 然后在FORM1窗体中添加ADODC控件和DATAGRID控件,将DATAGRID1的属性DATASOURCE选ADODC1,打开ADODC1控件...

永城市13283649225: 用VB创建一个应用程序,能对Access数据库文件中的数据进行增、删、改和查询操作 -
艾轮牛黄: data控件就可以 你可以去网上这控件使用方法 这是连接ACCESS最简单的控件了

永城市13283649225: 设计一个系统,由VB和access组正,在VB中编写一个程序,是的能对access中的数据进行查询修改等,求高手帮 -
艾轮牛黄: 请用MICROSOFT jet 4.0 OLE DB Provider引擎连接ACCESS数据库,方法如下: 新建工程时选数据工程,此时VB6集成调试环境左边工具箱内已加载了有关数据库编程必须的控件. 然后在FORM1窗体中添加ADODC控件和DATAGRID控件,...

永城市13283649225: vb如何创建一个应用程序 -
艾轮牛黄: vb6.0可以非常快的建立一个应用程序1. 启动vb6程序,选择标准exe,点击“打开”2. 你的程序窗口已经建立了,如下图Form1就是3. 在Form1的灰色区域上双击鼠标左键,进入代码窗口:4. 输入以下代码:5. 点击工具栏上的启动按钮(蓝色小三角)6. 你的程序就运行了

永城市13283649225: vb采取了什么编程机制 -
艾轮牛黄: 采取了事件驱动的编程机制. Visual Basic(简称VB)源自于BASIC编程语言.VB拥有图形用户界面(GUI)和快速应用程序开发(RAD)系统,可以轻易的使用DAO、RDO、ADO连接数据库,或者轻松的创建ActiveX控件,用于高效生成类型...

永城市13283649225: 常量constant什么是常量呢, …程序设计vb计算机知识 -
艾轮牛黄: 也称常数,是一种恒定的或不可变的数值或数据项.它们可以是不随时间变化的某些量和信息,也可以是表示某一数值的字符或字符串,常被用来标识、测量和比较.vb中的常量在某特定的时候,虽然声明了一个变量,但却不希望这个数值被修改,这种永不会被修改的变量,统称为常量.简单的说,就是在程序运行时,其值不能被改变的量.Visual Basic 中的常量分为文字常量和符号常量.文字常量又分为字符串常量和数值常量.常量区分为不同的类型,如25、0、-8为整形常量,6.8、-7.89为实型常量,'a''b'为字符常量 .常量一般从其字面形式即可判断.这种常量称为字面常量或直接常量.

永城市13283649225: vb中 if(a=b<>0 OR c=d<>0) 是什么意思 -
艾轮牛黄: if(a=b<>0 OR c=d<>0) 写成(a=b)<>0 OR (c=d)<>0 于是 当a=b时,true <>0 成立.当a<>b时,false <>0 不成立.c和d也如此.Visual Basic是一种由微软公司开发的包含协助开发环境的事件驱动编程语言.从任何标准来说,VB都是世界上使...

永城市13283649225: vb语言中 lnx 怎么打 -
艾轮牛黄: lnx-->log(x),以e为底的对数 lgx-->log(x)/log(10) 以10为底的对数

永城市13283649225: 简述VB应用程序的工作方式,创建VB应用程序的步骤 -
艾轮牛黄: 简单来说就是三步:新建程序 写程序代码 编译程序 详细点说就是:1.新建工程.创建一个应用程序首先要打开一个新的工程.2.创建应用程序主界面.使用工具箱在窗体上放置所需控件.其中,窗体是用户进行界面设计时在其上放置控件的窗...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网