access数据库实例?access数据库8个经典实例
一、access数据库8个经典实例
下面是访问数据库中典型的8个实例:1.创建表在Access数据库中创建新的表格。定义表格的列名和数据类型。2.插入数据向已创建的表格中插入新的数据记录。填写每一列的值。3.查询数据使用SQL语句查询数据库中的数据。可以使用WHERE子句筛选特定的记录。4.更新数据更新数据库中的现有数据记录。可以使用UPDATE语句修改特定的列值。5.删除数据从数据库中删除不再需要的数据记录。可以使用DELETE语句删除特定的记录。6.连接表将两个或多个表连接在一起,以便联合查询数据。可以使用JOIN语句实现表的连接。7.排序数据按照特定的列对数据进行排序。可以使用ORDERBY子句按升序或降序对数据进行排序。8.创建查询使用查询设计工具创建自定义查询。可以选择所需的表格和列,定义筛选条件和排序规则。
二、如何用access自动获取excel里面的数据
用access自动获取excel里的数据的方法就是通过代码的方式导入。如果是对手动导入比较清楚的话,这个实现起来不难。请参考下面的介绍来实现:首先,新建一个工程,在工程中引用如下对象ADO对象(用于连接ACCESS数据库,可用其它方式)添加一个窗体(from1),在窗体上添加如下控件:两个文本框,用来显示EXCEL文件路径和ACCESS路径;四个扭钮,两个用来游览,另两个是导入和退出;两个通用对话框控件,用来打开ACCESS和EXCEL文件,一个进度条控件,用来显示导入进程。该实例的导入是将ACCESS数据库中表的字段名单独存放在另外一个表中,导入时按表中所存字段名的顺序进行导入,不是按EXCEL表的顺序导入,请大家注意.这样在实际中是很实用的.因为好多时候EXCEL表中字段顺序和ACCESS中字段顺序有可能不是一致的.代码如下:DimvOptionExplicitPrivateSubcmdLoad_Click()Dimexcel_appAsObjectDimexcel_sheetAsObjectIftxtExcelFile.Text=""ThenMsgBox"请选择EXCEL表"ElseDimnew_valueAsStringLabel2.Caption="正在导入,请稍候..."Screen.MousePointer=vbHourglassDoEvents''CreatetheExcelapplication.Setexcel_app=CreateObject("Excel.Application")''UncommentthislinetomakeExcelvisible.excel_app.Visible=True''OpentheExcelspreadsheet.excel_app.Workbooks.openFileName:=txtExcelFile.Text''Checkforlaterversions.IfVal(excel_app.Application.Version)>=8ThenSetexcel_sheet=excel_app.ActiveSheetElseSetexcel_sheet=excel_appEndIfDimu''求EXCEL表中记录的条数,以便控制进度条u=1DoIfTrim$(excel_sheet.Cells(u,1))=""ThenExitDou=u+1Loopbar.Max=u-1strSQL="select*fromTestValues"yourRecord.openstrSQL,myConn,adOpenDynamic,adLockOptimistic''打开记录集DimsqlAsStringsql="select*fromfieldsorderbyxue"myRecord.opensql,myConn,adOpenDynamic,adLockBatchOptimistic''打开字段记录集myRecord.MoveFirst''GetdatafromtheExcelspreadsheetandinsert''itintotheTestValuestable.Dimv''导入记录,用了两层循环v=1DoIfTrim$(excel_sheet.Cells(v,1))=""ThenExitDo''外层,如果EXCEL表中读取到空行,结束yourRecord.AddNewDimiFori=1TomyRecord.RecordCount''Getthenextvalue.new_value=Trim$(excel_sheet.Cells(v,i))''Seeifit''sblank.''IfLen(new_value)=0ThenExitDo''Insertthevalueintothedatabase.DimbbAsStringbb=myRecord("name")yourRecord(bb)=new_valuemyRecord.MoveNextNextibar.Value=vv=v+1myRecord.MoveFirstLoopyourRecord.Update''Commenttherestofthelinestokeep''Excelrunningsoyoucanseeit.''Closetheworkbookwithoutsaving.excel_app.ActiveWorkbook.CloseFalse''CloseExcel.excel_app.QuitSetexcel_sheet=NothingSetexcel_app=NothingmyRecord.CloseyourRecord.CloseSetmyRecord=NothingSetyourRecord=NothingLabel2.Caption="导入完毕"Screen.MousePointer=vbDefaultMsgBox"共导入"&Format$(v-1)&"条记录"EndIfEndSubPrivateSubCommand1_Click()UnloadMeEndSubPrivateSubCommand2_Click(IndexAsInteger)''寻找ACCESS数据库CommonDialog1.Filter="ACCESS文件(*.mdb)|*.mdb"CommonDialog1.CancelError=TrueCommonDialog1.ShowOpentxtAccessFile.Text=CommonDialog1.FileNameEndSubPrivateSubCommand3_Click()''寻找excel数据库CommonDialog2.Filter="excel文件(*.xls)|*.xls"CommonDialog2.CancelError=TrueCommonDialog2.ShowOpentxtExcelFile.Text=CommonDialog2.FileNameEndSubPrivateSubForm_Load()CallModule1.lianjietxtAccessFile.Text=datapathEndSub模块(module1)中的代码如下:PublicmyConnAsNewADODB.Connection''定义连接字符串PublicmyRecordAsNewADODB.Recordset''定义记录集(字段)PublicyourRecordAsNewADODB.Recordset''定义记录集(数据)PubliccntoadAsBoolean''是否正常连接Publicml''姓名字段所在列PublicstrSQL''查询字符串PublicMyDatabaseAsDatabase''定义数据库名PublicMyTableAsTableDef,MyFieldAsField''定义表名和字段名Publicxuehao''读取字段序号PublicgoshiRecordAsNewADODB.Recordset''定义记录集(公式)PublichxfynAsBooleanPublichxfbds''公式或条件Publicduan''要统计的字段PublicislinshiAsBoolean''是否为临时公式PublicleiRecordAsNewADODB.Recordset''定义记录集(工资类别)PublicdatapathAsString''数据库路径及名PublictableAsString''工资表名PublicleiAsString''工资类别PublicSublianjie()''打开数据库OnErrorResumeNextmyConn.CloseDimmySQLAsString''设定连接字符串mySQL="Provider=Microsoft.Jet.OLEDB.4.0;PersistSecurityInfo=False;"mySQL=mySQL+"DataSource="&datapathmyConn.ConnectionString=mySQL''设定连接myConn.open''打开连接myRecord.ActiveConnection=myConn''设定RecordSeet的连接对象为ConnectionmyRecord.CursorLocation=adUseClientgoshiRecord.ActiveConnection=myConn''设定RecordSeet的连接对象为ConnectiongoshiRecord.CursorLocation=adUseClientyourRecord.ActiveConnection=myConn''设定RecordSeet的连接对象为ConnectionyourRecord.CursorLocation=adUseClientEndSub
三、access2013中SQL语句实现联合查询并汇总
1、Access数据库多表联合查询,每次连接之前须将连接符前面的内容放在括号里面,示例如:select表a.字段1,表b.字段1,表c.字段1,表d.字段1from((表ainnerjoin表bon表a.字段=表b.字段)innerjoin表con表c.字段=表a.字段)innerjoin表don表a.字段=表d.字段2、如果每个联合字段不止一个可将on后面条件加(),如:select表a.字段1,表b.字段1,表c.字段1,表d.字段1from(表ainnerjoin表bon(表a.字段1=表b.字段1and表a.字段2=表b.字段2))innerjoin表con表c.字段=表a.字段3、如果要一次联合一个表多次,但条件不同,可以每次连接此表时给此表换个别名,用别名操作即可,如:selectaa.字段1,表b.字段1,表c.字段1,bb.字段2from((表aasaainnerjoin表bonaa.字段1=表b.字段)innerjoin表con表c.字段=表a.字段)innerjoin表aasbbon表a.字段=bb.字段2.