ACCESS报表控件整理代码

合集下载

access 遍历控件 函数

access 遍历控件 函数
'获取当前窗体
Set frm = Form
'遍历窗体上的所有控件
For Each ctrl In frm.Controls
'打印控件名称
Debug.Print
Next ctrl
End Sub
这个函数通过循环遍历窗体上的所有控件,并打印每个控件的名称。你可以根据需要修改这个函数,以执行其他操作,例如修改控件的属性或调用控件的事件处理程序。请注意他对象上的控件,你需要相应地修改代码。
在Microsoft Access中,可以使用VBA(Visual Basic for Applications)编程语言来遍历窗体或报表上的控件。下面是一个简单的示例函数,演示如何遍历窗体上的所有控件:
Sub TraverseControls()
Dim ctrl As Control
Dim frm As Form

ACCESS 编程代码

ACCESS 编程代码

第1章控件常量控件acBoundObjectFrame 绑定对象框acCheckBox 复选框acComboBox 组合框acCommandButton 命令按钮acCustomControl ActiveX(自定义)控件acImage 图像acLabel 标签acLine 线条acListBox 列表框acObjectFrame 未绑定对象框或图表acOptionButton 选项按钮acOptionGroup 选项组acPage 页acPageBreak 分页符acRectangle 矩形acSubform 子窗体/子报表acTabCtl 选项卡acTextBox 文本框acToggleButton 切换按钮在VB中对窗体控件的引用键入包含控件的窗体或报表的标识符,后面紧接! 运算符和控件的名称。

例如,下列标识符将引用“订单”窗体上“订单ID”控件值:Forms![订单]![订单ID]引用子窗体或子报表上的控件,不必使用“窗体”或“报表”属性为窗体或报表指定完整的标识符。

例如,可以使用下列标识符来引用“订单”子窗体上的“数量”控件:Forms![订单]![订单子窗体]![数量]判断窗体或报表中控件的数目,然后将该数目赋给一个变量。

Dim intFormControls As IntegerDim intReportControls As IntegerintFormControls = Forms!Employees.CountintReportControls = Reports!FreightCharges.Count设置控件可见性Dim i, ii As IntegerFor ii = 3 To 10Me.Controls.Item(ii).Visible = TrueNextFor i = 11 To 22Me.Controls.Item(i).Visible = FalseNext按特殊名在VBA中设置控件的可见性:For i = 27 To 47If Me.Controls.Item(i).Name Like "A*" ThenMe.Controls.Item(i).Visible = FalseEnd IfNext指定一个控件能否接受焦点Enabled属性:me.控件.Enabled = true'能=false'不能指定一个控件能否被编辑:locked如:me.控件.Locked = trueme.控件.Locked = false设置控件标题显示的文字Me.控件.Caption = "显示窗体"设置标签颜色:belColor =200获得焦点及失去焦点时字段变更颜色。

access常用代码

access常用代码

1、单击命令按钮运行宏m1:DoCmd.RunMacro "m1"2、标签Tda标题设置为系统当前日期:Tda.Caption=Date3、使“保存”按钮CmdSave变为可用:CmdSave.Enabled=True将输入焦点移到"CmdEdit"命令按钮:Me.CmdEdit.SetFocus4、将文本框tText的内容作为窗体中标签bTitle的标题显示:bTitle.Caption=Me!tText5、窗体加载时窗体标题属性为系统当前日期:Form.Caption=Date6、打开窗体、单击"计算"按钮(名为bt),事件过程使用ADO数据库技术计算出表对象"tEmp"中党员职工的平均年龄,然后将结果显示在窗体的文本框"tAge"内并写入外部文件中。

Ifrs.RecordCount=0Then;tAge=sage7、将tStudent表中的全部记录显示出来:Select * From tStudent8、窗体加载时窗体标题属性为系统当前日期:Form.Caption=Date9、消息框:MsgBox"请重新输入口令!",vbOkquit10、输入框:k=InputBox("请输入大于0的整数值")预览输出报表对象"rEmp":DoCmd.OpenReport "rEmp",acViewPreview11、CaseIs>=3预览输出报表对象"rEmp":DoCmd.OpenReport "rEmp",acViewPreview12、Dim f(19)AsInteger f(i)=f(i-1)+f(i-2)tData=f(19)13、单击"刷新"按钮,窗体记录源改为查询对象"qEm":Form.RecordSource="qEmp"单击"退出"按钮,关闭窗体:DoCmd.Close14、窗体"fEmp"的"加载"事件中设置标签"bTitle"以红色文本显示:bTitle.Caption=vbRed实现报表预览输出:mdPnt acViewPreview15、消息框:MsgBox"报表预览",vbQuestion+vbYesNo,"确认"16、动态设置窗体记录源为查询对象"qEmp":Form.RecordSource="qEmp"17、将考生文件夹下的图片文件"test.bmp"设置为窗体"fEmp"的背景:Form.Picture=CurrentProject&"\test.bmp"18、CDID文本框内内容显示颜色改为红色:CDID.ForeColor=vbRed19、动态设置窗体记录源为查询对象"qEmp":Form.RecordSource="qEmp"关闭窗体:DoCmd.Close20、使“保存”按钮CmdSave变为可用:CmdSave.Enabled=True21、将文本框中输入的内容与文本串"等级考试测试"连接,并消除连接串的前导和尾随空白字符,用标签"bTitle"显示连接结果:bTitle.Caption=Trim(tText)&"等级考试测试"22、动态设置窗体记录源为查询对象"qEmp":Form.RecordSource="qEmp"23、预览输出报表对象"rEmp":DoCmd.OpenReport "rEmp",acViewPreview24、单击“退出”按钮,关闭当前窗体:DoCmd.Close单击“保存”按钮,“修改”按钮不可用:CmdEdit.Enable=False用户名_1控件不可用:Me!用户名_1.Enabled=False25、将标签显示内容设置为所选项目名加上"内容:"Me.Ldetail.Caption=Me.CItem.Value&"内容:"显示tStud表的全部记录:fDetail.Form.RecordSource="tStud"设置提示框:MsgBox "查询项目和查询内容不能为空!!!",vbOKOnly,"注意"设置窗体标题为XXXX年XX月+tTitle 标签的标题:Me.Caption=Str(Year(Date))&"年"&Str(Month(Date))&"月"&Me.tTitle.Caption 26、设置用户名为cueb,密码为1234:If name="cueb" And pass="1234"Then文本框tUser获得焦点:Me.tUser.SetFocus设置相关属性,实现“tPass”文本框内容以密码形式显示:Me.tPass.InputMask="Password"27、数据连接:Set rs=New ADODB.Recordset如果达到表结尾:If rs.EOF Then清空TxtDetail文本框:Me.TxtDetail=""28、消息框提示关闭窗体:IfMsgBox("确认退出?",vbCritical+vbYesNo,"提示")Then29、设置代码执行宏M1:DoCmd.RunMacro"M1"将Tda标签标题设置为“YYYY年雇员信息”,其中“YYYY”为系统当前年份,用函数获取:Me.Tda.Caption=Str(Year(Date))&"年雇员信息"30、动态设置窗体记录源属性为查询qEmp:Me.RecordSource="qEmp"31、计算1+2+3+…+n<=30000的最大值,并保存到变量n中:Dim s As Integer:n=1:s=0Do While s<=30000:s=s+n:n=n+1:Loop:n=n–132、设置标签bTitle的标题为XX月+原标题:Me.bTitle.Caption=Str(Month(Date))&"月"&Me.bTitle.Caption33、设置bTitle标签为红色文本显示:Me.bTitle.ForeColor=RGB(255,0,0)调用mdPnt,预览输出:CallmdPnt(2)调用mdPnt,打印输出:CallmdPnt(0)34、输入字符串后,产生反序:s1=Me.bTxt1'设置循环'***************Add1***************Fori=Len(Me.bTxt1)To1Step-1'***************Add1***************t=Mid(s1,i,1)s2=s2&tNexti'将结果显示在bTxt2中'***************Add2***************Me.bTxt2.Value=s2'***************Add2***************EndSub35、设置bTitle的标题为窗体的标题:Me.Caption = Me.bTitle.Caption36、报表标题显示标签控件"bTitle"的内容:Me.Caption = Me。

Access高级查询与报表制作

Access高级查询与报表制作

Access高级查询与报表制作Access数据库是一款常用的关系型数据库管理系统,它在数据的管理和分析方面有着丰富的功能,其中高级查询和报表制作是应用中重要的部分。

本文将介绍Access高级查询的使用技巧和报表的制作方法。

一、高级查询1. 多表关联查询Access支持多个表的关联查询,通过使用连接符号和条件来连接不同的表。

例如,我们有两个表分别为"学生表"和"课程表",我们可以使用以下查询语句查找学生选修了哪些课程:```SQLSELECT 学生表.学生姓名, 课程表.课程名称FROM 学生表 INNER JOIN 课程表 ON 学生表.学生ID = 课程表.学生ID;```这样就可以显示学生姓名和他所选修的课程。

2. 参数查询Access允许在查询中使用参数,用户可以在运行查询时输入条件,灵活地检索数据。

例如,我们可以创建一个查询,显示出学生中所有姓为"张"的学生:```SQLSELECT *FROM 学生表WHERE 学生表.学生姓名 Like "张*";```在运行查询时,系统会要求用户输入一个以"张"开头的姓氏。

3. 嵌套查询Access支持嵌套查询,即在一个查询中嵌套另一个查询。

这种查询方式常用于将多个查询结果进行比较或者运算。

例如,我们可以通过嵌套查询获取选课人数最多的课程:```SQLSELECT 课程名称FROM 课程表WHERE 选课人数 = (SELECT MAX(选课人数)FROM 课程表);```这样就可以找出选课人数最多的课程名称。

二、报表制作1. 创建报表在Access中,我们可以使用数据源向导创建一个报表。

首先选择需要制作报表的数据表或查询,并选择需要显示的字段。

然后选择报表的布局和样式,并进行自定义设计。

最后根据需要设置报表的标题、页眉、页脚等内容,并保存报表。

2. 添加字段和控件在报表的设计视图中,我们可以通过拖动字段到报表的详细数据区域中,来添加需要显示的字段。

access计算机代码归纳

access计算机代码归纳

第一套加载窗体fQuery重置窗体标题为“显示查询信息”Add1 Me.Caption = “显示查询信息”退出cQuit命令按钮改的文字颜色改为红色Add2 Me. 命令7.ForeColor = vbRed字体粗细改为加粗,加粗为700Add3 Me. 命令7.FontWeight = 700tStudent表中的全部记录显示Add4 BBB.Form.RecoedSource = “ select * from tStudent”第二套将Tda标签的标题设置为“YYYY年雇员信息”Add1 Me.Tda.Caption = Year(Date) & "年雇员信息"设置代码执行宏Add2 DoCmd.RunMacro "m1"第三套将标签显示内容设置为所选项目名加上"内容:"Add1 Me.Ldetail.Caption = Me.CItem.Value & "内容:"显示全部记录Add2 fDetail.Form.RecordSource = "tStud"设置提示框Add3 MsgBox "查询项目或查询内容不能为空!!!", vbOKOnly, "注意"设置窗体标题为标签tTitle的标题Add4 Me.Caption = Me.tTitle.Caption第五套(同3套,少标题)Add1 Me.Ldetail.Caption = Me.cItem.Value & "内容:" Add2 Me.fDetail.Form.RecordSource = "tStud"Add3 MsgBox "查询项目和查询内容不能为空!!!", vbOKOnly, "注意"第六套单击修改按钮,保存按钮变为可用Add1 Me.CmdSave.Enabled = True焦点移到"CmdEdit"命令按钮Add2 Me.CmdEdit.SetFocus第八套设置窗体标题为“xxxx年信息输出”Add1 Me.Caption = Year(Date) & "年信息输出"预览方式输出报表rEmpAdd2 DoCmd.OpenReport "rEmp", acViewPreview第九套消息框提示关闭窗体Add If MsgBox("确认退出?", vbYesNo + vbQuestion, "提示") = vbYes ThentSub学号第56位判断专业控件来源=IIf(Mid([学号],5,2)="10","信息","管理")第十套实现“tPass”文本框内容以密码形式显示Add1 Me.tPass.InputMask = "password"用户名为cueb ,用户密码为1234Add2 If name = "cued" And pass = "1234" ThenAdd3 Me.tUser.SetFocusAdd4 DoCmd.Close 第十一套表tDept的控件来源=DLookUp("科室名称","tOffice","科室ID='" & [科室ID] & "'")tDoct的控件来源=DLookUp("姓名","tDoctor","医生ID = '" & [医生ID] & "'")将标签显示内容设置为所选项目名加上"内容:"Add1 Me.Ldetail.Caption = Me.CItem.Value & "内容:"显示全部记录Add2 fDetail.Form.RecordSource = "tStud"设置提示框Add3 MsgBox "查询项目或查询内容不能为空!!!", vbOKOnly, "注意"设置窗体标题Add4 Me.Caption = Year(Date) & "年" & Month(Date) & "月" & Me.tTitle.Caption第十二套tPa的控件来源=IIf([tEmp]![党员否]=[ture],"党员","非党员")窗体对象改为查询对象”qEmp ”动态设置窗体记录源属性Add1 Me.Form.RecordSource = "qEmp"关闭窗口Add2 DoCmd.Close第十三套txtIf的控件来源=IIf(Sum([单价]*[数量])>30000,"达标","不达标")第十四套计算满足表达式1+2+3+..+n<=30000 在Program行中输入Dim s As IntegerDo While s <= 30000n = n + 1s = s + nLoopn = n – 1代码调用宏对象"mEmp" Add2 DoCmd.RunMacro "mEmp"设置窗体标题为标签"bTitle"的标题内容Add1 Me.Caption = Me.bTitle.Caption第十五套题干为对不起!为输入雇员姓名,请输入!Add1 Set rs = New ADODB.RecordsetAdd2 If Not rs.EOF ThenAdd3 Me.TxtDetail = ""第十六套tDept的控件来源=DLookUp("名称","tGroup","部门编号='" & [所属部门] & "'")第十七套窗体标题显示为**月**日####Me.Caption = Trim(Month(Date) & "月" & Day(Date) & "月") & Trim(Me.bTitle.Caption)第十八套窗体标题显示为**月**日####样例Me.Caption = Trim(Month(Date) & "月" & Day(Date) & "日") & Trim(Me.bTitle.Caption & "样例")第十九套使用DLookUp函数查询并将结果分别显示在标签上Add1 btitle2.Caption = "性别查询结果: " & COMBO1.Value & "的平均年龄为" & DLookup("平均年龄", "qEmp", "性别='" & COMBO1.Value & "'")设置组合框列表框行来源,用于列出不同的性别值供选择Add2 BO1.RowSourceType = "值列表"BO1.AddItem "男"BO1.AddItem "女"设置Label2初始标签值为“性别查询结果:”Add3 Me.btitle2.Caption = "性别查询结果:"第二十套窗体标题显示为CD明细显示Me.Caption = Me.bTitle.Caption & "显示"CDID标签的文字颜色改为红色Me.CDID_标签.ForeColor = vbRed第二十一套文本框已输入的字符串反向显示设置循环Add1 For i = Len(s1) To 1 Step -1将结果显示在bTxt2中Add2 Me.bTxt2.Value = s2第二十二套窗体标题显示为**月####Me.Caption = Month(Date) & "月" & Me.bTitle.Caption第二十三套设置过滤属性,输出团员信息Add1 Me.RecordSource = "select * from tStudent where 政治面貌= '团员'"设置子对象的数据源Add2 Me.子对象.SourceObject = "fGrade"取消子窗体导航按钮Add3 Me.子对象.Form.NavigationButtons = FalseAdd4 DoCmd.Close第二十四套等级考试测试Me.bTitle.Caption =Me.tText.Value & Trim("等级考试测试")英文部分大写输出Me.Caption = UCase(Me.bTitle.Caption)第二十五套设置bTitle标签为红色文本显示Add1 Me.bTitle.ForeColor = vbRed'调用mdPnt,预览输出Add2 mdPnt acViewPreview'调用mdPnt,打印输出Add3 mdPnt acViewNormal第二十六套代码重置"bTitle"标签的标题为"员工最大年龄差为XXX" Add1 Me.bTitle.Caption = "员工最大年龄差为" & (DMax("年龄", "temp") - DMin("年龄", "temp"))消息框提示报表输出(外观样式见题干图例)Add2 If MsgBox("报表预览", vbYesNo + vbQuestion, "确认") = vbYes Then第二十七套重置窗体标题为"XXXX年度党员学生信息"Add1 Me.Caption = Year(Date) & "年度党员学生信息"设置窗体的记录源Add2 Me.RecordSource = "SELECT * FROM tStud where [党员否]=true"关闭当前窗体DoCmd.Close第二十八套非团员人数为XXXXAdd1 bTitle.Caption = "非团员人数为" & DCount("学号", "tstud", "团员否=FALSE")验证用户输入Add2 If Name = "csy" And pass = "1129" Then光标焦点移至要求文本框内Me.tUser.SetFocus第二十九套设置窗体标题为当前日期Add1 Me.Caption = Date设置"fTitle"标签的标题Add2 Me.fTitle.Caption = "读者借阅信息"预览方式打开报表并设置条件输出高级读者(职称为"教授"和"副教授"的读者)借阅信息Add3 DoCmd.OpenReport "rReader", acViewPreview, "qT", "职称in('教授','副教授')第三十套重置窗体标题为"系统登录" Add1 Me.Caption = "系统登录"验证用户输入Add2 If tUser = "cueb" And tPass = "1234" Then光标焦点移至要求文本框内Add3 Me.tUser.SetFocus 第三十二套报表标题****年度######Me.Caption = Trim(Year(Date) & "年度") & Trim(Me.bTitle.Caption)定义变量f为整型Dim f As Integer窗体标题自动显示为“计时器”Form.Caption = "计时器"设置铃声Beep在文本框中显示计时的秒数Me.txtList.Value = s第三十三套设置窗体标题为"**年度报表输出"Add1 Me.Caption= mid(Year(Date),3,2) & "年度报表输出"设置窗体"退出"命令按钮标题为粗体显示Add2 Me.bt2.FontBold = -1预览方式输出报表rEmpAdd3 DoCmd.OpenReport "rEmp", acViewPreview第三十四套题干为:没有这个职员Add1 If isnull (Trim(me.txtName))thenAdd2 strSQL = “ select * from tEmp where 姓名= ‘” & name & “’”Add3 If rs.EOF then。

ACCESS窗体属性表代码说明

ACCESS窗体属性表代码说明

ACCESS窗体属性表代码说明ACCESS┃窗体属性表代码说明┃属性┃代码┃说明┃记录源┃RecordSource┃可以是一个表或查询,也可以是SQL语句.┃筛选┃Filter┃设置窗体显示数据的筛选条件.┃排序依据┃OrderBy┃决定窗体显示记录的顺序┃允许筛选┃AllowFilters┃此选项为"是",筛选才有效.┃标题┃Caption┃设置窗体的视图界面标题栏上的显示,如果为空,则显示此窗体的名字.┃默认视图┃DefaultView┃缺省为"单一窗体",当此窗体作为子窗体用的话,一般情况下要改为"连续窗体"或"数据表",还有"数据透视表"与"数据透视图"很少用到."单一窗体"是每页显示一个记录,"连续窗体"与"数据表"是可显示多条记录.┃允许"窗体"视图┃AllowFormView┃这几项是设置此窗体允许显示的形式.┃允许"数据表"视图┃AllowDatasheetView┃允许"数据透视表"视图┃AllowPivotTableView┃允许"数据透视图"视图┃AllowPivotChartView┃允许编辑┃AllowEdits┃设置此窗体是否可更改数据.前提是此窗体绑定记录源┃允许删除┃AllowDeletions┃设置此窗体是否可删除记录.前提是此窗体绑定记录源┃允许添加┃AllowAdditions┃设置此窗体是否可添加记录.前提是此窗体绑定记录源┃数据输入┃DataEntry┃如这里设置为是.那么此窗体只能用于添加新记录,换言之,就是每次打开都是转到新记录.当然,前提也是此窗体绑定记录源┃滚动条┃ScrollBars┃设置此窗体具有横/竖/无滚动条┃记录选择器┃RecordSelectors┃设置记录左边是否有一个选择记录的按钮,一般在"单一窗体"模式下是要选"否"的.需要特别注意的是:即便是设置了"否",在窗体显示是同样可以用"Ctrl+A"选择记录.┃导航按钮┃NavigationButtons┃设置窗体下方是否需要显示跳转到记录的几个小按钮.┃自动调整┃AutoResize┃设为"是",窗体打开时可自动调整窗体大小,依据是你的各节长宽.┃自动居中┃AutoCenter┃设置窗体是否打开时自动居于屏幕中央.如果设置为"否",则打开时居于窗体设计视图最后一次保存时的位置.┃弹出方式┃PopUp┃如设置为"是",则此窗体打开时浮于其他普通窗体上面,只有模式设为"是"或其他同类窗体可以覆盖它.┃模式┃Modal┃如设置为"是",则此窗体以对话框形式打开,在关闭它之前,别的窗体不能操作.┃边框样式┃BorderStyle┃设为窗体的边框,可设置为细边框或不可调,当设置为无边框时,此窗体无边框及标题栏.┃控制框┃ControlBox┃设置窗体标题栏左边是否显示一个窗体图标,实际上这就是窗体控制按钮.┃最大最小化按钮┃MinMaxButtons┃设置窗体标题栏右边要显示的改变窗体尺寸的几个小按钮.┃关闭按钮┃CloseButton┃设置是否保留窗体标题栏最右端是否保留关闭窗体的按钮.┃宽度┃Width┃设置整个窗体的宽度.注意,这里只能设置窗体宽度,不能设置高度,窗体的高度的设置分到了各节的属性中.┃图片┃Picture┃设置窗体背景图片.┃图片类型┃PictureType┃这几项是设置图片显示模式的,不再多讲.┃图片缩放模式┃PictureSizeMode┃图片对齐方式┃PictureAlignment┃图片平铺┃PictureTiling┃菜单栏┃MenuBar┃指定窗体专用菜单,如果有自定义菜单的话.如果不指定,则使用系统菜单.┃工具栏┃ToolBar┃指定窗体专用工具栏,同上.┃快捷菜单┃ShortcutMenu┃设置是否允许使用快捷菜单,只有设为"是",下面一项设置才有效.┃快捷菜单栏┃ShortcutMenuBar┃指定窗体专用的快捷菜单,前提是有自定义的快捷菜单.注意,这里设置的是整个窗体的快捷菜单,优先级低于特定控件指定的快捷菜单.┃网格线X坐标┃GridX┃设置窗体网格的密度,主要是对窗体设计中有用.┃网格线Y坐标┃GridY┃成为当前┃Current/OnCurrent┃这里设置当一个记录为当前记录时引发的事件,可以是宏,也可以是代码.┃更新前┃BeforeUpdate/OnBeforeUpdate┃设置窗体数据更新前需引发的事件,需注意的是这里指的是整个窗体的.┃更新后┃AfterUpdate/OnAfterUpdate┃设置窗体数据更新后需引发的事件,同上.┃删除┃Delete/OnDelete┃在记录删除时引发的事件,可以依据条件,中止删除动作.┃确认删除前┃BeforeDelConfirm┃把事件引发时间分得很细,具体情况具体应用.┃确认删除后┃AfterDelConfirm┃同上┃打开┃Open/OnOpen┃在窗体打开时引发事件.┃加载┃Load/OnLoad┃在窗体加载时引发事件,时间上晚于打开事件.┃调整大小┃Resize/OnResize┃在改变窗体显示尺寸时引发事件,一般用于窗体重画(控件布局)┃卸载┃Unload/OnUnload┃在窗体卸载时引发事件,时间上早于关闭事件.┃关闭┃Close/OnClose┃在窗体关闭时引发事件.┃激活┃Activate/OnActivate┃在窗体间切换时,切换到此窗体时引发的事件.┃停用┃Deactivate/OnDeactivate┃在窗体间切换时,从此窗体切换到别的窗体时引发的事件,与上一项相反.┃获得焦点┃GotFocus/OnGotFocus┃在此窗体获得焦点时引发事件.┃失去焦点┃LostFocus/OnLostFocus┃在此窗体失去焦点时引发事件.┃单击┃Click/OnClick┃在单击窗体时引发事件.┃双击┃DblClick/OnDblClick┃在双击窗体时引发事件.。

access代码集合

access代码集合

2.for循环 Option Compare Database Private Sub c1_Click() Dim f(15) As Integer f(1) = 1 f(2) = 1 For i = 3 To 15
f(i) = f(i - 1) + f(i - 2) Next t1 = f(15) End Sub
End If rs.Close cn.Close Set rs = Nothing Set cn = Nothing End Sub
16.输入输出函数 Private Sub c1_Click() Dim aa As String aa = InputBox("请写出您的姓名:", "输入框", "")提示信息,标题栏,默认值 bb = MsgBox(aa & "你好!", 1 + 64, "输出框")显示信息,按钮数目+图标类型,标题 t = bb End Sub 17.调整工资(用DAO访问数据库) Option Compare Database Private Sub c1_Click() Dim db As DAO.Database Dim rs As DAO.Recordset Dim fd As DAO.Field Set db = CurrentDb() Set rs = db.OpenRecordset("gz") Set fd = rs.Fields("工资") Do While Not rs.EOF
8.动态设置颜色 对象名.属性名=属性值 Option Compare Database Private Sub c1_Click() t1.BackColor = 255 b1.ForeColor = 255 End Sub Private Sub c2_Click() t1.BackColor = 33792 b1.ForeColor = 33792 End Sub Private Sub c3_Click() t1.BackColor = 16711680 b1.ForeColor = 16711680 End Sub

ACCESS代码

ACCESS代码

试根据以下窗体功能要求,对已给的事件过程进行代码补充,并运行调试。

在“fEmp”窗体上单击“输出”命令按钮(名为“btnP”),计算满足表达式n值,并将n的值显示在窗体上名为“tData”的文本框内并输出到外部文件保存"fEmp"窗体上单击"输出"命令按钮(名为"btnP"),实现以下功能:计算将结果显示在窗体上名为"tData"的文本框内并输出到外部文件保存; Fibonacci数列:调试完毕,必须点击"输出"命令按钮生成外部文件,才能得分。

(3)在窗体加载事件中实现代码重置窗体标题为标签"bTitle"的标题内容。

(4)"fEmp"窗体上单击"输出"命令按钮(名为"btnP"),实现以下功能:"tData"的文本框内并输出到外部文件保存。

标题内容,如“2013年06月xxxx”。

其中,当前年月要求用函数获得,xxxx 部分是标签“tTitle”的标题内容。

在窗体中有一个组合框控件和一个文本框控件,名称分别为“CItem”和“TxtDetail”;有两个标签控件,名称分别为“Label3”和“Ldetail”;还有三个命令按钮,名称分别为“CmdList”、“CmdRefer”和“CmdClear”。

在“CItem”组合框中选择某一项目后,“Ldetail”标签控件将显示出所选项目名加上“内容:”。

在“TxtDetail”文本框中输入具体项目值后,单击“CmdRefer”命令按钮,如果“CItem”和“TxtDetail”两个控件中均有值,则在子窗体中显示找出的相应记录,如果两个控件中没有值,显示提示框,提示框标题为“注意”,提示框中只有一个“确定”按钮;单击“CmdList”命令按钮,在子窗体中显示“tStud”表中的全部记录;单击“CmdClear”命令按钮,将清空控件“cItem”和“TxtDetail”中的值。

Access vba 常用代码函数整理

Access vba 常用代码函数整理

制作 : 二痞子
1.------- 在一个窗体中刷新另一个窗体中的控件代码 2. ------- Isnull 判断空值 3. ------- Docmd 方法 4. ------- RunSQL 方法 5. ------- Dlookup 方法 6. ------- SourceObject 属性 7. ------- Parent 特性 8. ------- SelectRecord() '整行选中记录函数-------模块 9. ------- Dcount 判断一个字段值是否存在 10. -------Shell 函数 11. -------“MouseMove”产生了如下错误-------模块 12. ------- AutoNumStr 自动编号函数 不支持断号重续 -------模块 13. ------- AutoNum 自动编号函数(支持文本和数字类型、支持断号重续)-------模块
On Error GoTo ErrorHandler
Dim strPrefixal As String
Dim strTemp As String
strPrefixal = Prefixal If DateFormat <> "" Then strPrefixal = strPrefixal & Format(Date, DateFormat) If strPrefixal <> "" Then strTemp = "[" & FieldName & "] Like '" & strPrefixal & "*'" strTemp = Nz(DMax(FieldName, TableName, strTemp), "0") strTemp = Val(Mid(strTemp, Len(strPrefixal) + 1)) + 1 strTemp = Format(strTemp, String(Digit, "0")) AutoNumStr = strPrefixal & strTemp

Access数据库查询和报表的制作教程

Access数据库查询和报表的制作教程

Access数据库查询和报表的制作教程第一章:Access数据库查询的基本操作1.1 创建查询1.1.1 打开Access数据库,并选择要查询的数据表1.1.2 在查询选项卡中点击“新建查询”1.2 设计查询1.2.1 选择要显示的字段1.2.2 根据需求添加查询条件1.2.3 设置排序方式1.3 运行查询1.3.1 点击查询工具栏上的运行按钮1.3.2 查询结果将显示在查询窗口中第二章:Access数据库查询的进阶操作2.1 多条件查询2.1.1 使用逻辑运算符(如AND、OR)连接多个查询条件 2.1.2 设置复杂的查询条件,如嵌套查询2.2 使用通配符进行模糊查询2.2.1 使用星号(*)代表任意字符2.2.2 使用问号(?)代表单个字符2.3 利用计算字段实现更复杂的查询2.3.1 创建计算字段,并使用表达式进行计算2.4 使用查询参数2.4.1 使用参数作为查询条件,提高查询的灵活性2.4.2 在运行查询之前,输入参数的具体值第三章:Access数据库报表的创建与设计3.1 创建报表3.1.1 打开Access数据库,并选择要生成报表的数据表 3.1.2 在报表选项卡中点击“新建报表”3.2 设计报表3.2.1 选择要显示的字段3.2.2 设置报表的布局和格式3.2.3 添加报表标题、页眉、页脚等信息3.3 添加计算字段和汇总信息3.3.1 创建计算字段,并使用表达式进行计算3.3.2 添加汇总信息,如总计、平均值等3.4 设置排序和分组3.4.1 根据需求设置排序方式3.4.2 设置报表的分组规则第四章:Access数据库报表的格式化与导出4.1 设置报表的样式和颜色4.1.1 修改报表的字体、背景颜色等属性4.1.2 添加边框和线条,使报表更加清晰4.2 添加图表和图形4.2.1 在报表中插入图表,用于数据的可视化展示 4.2.2 添加图形,如公司Logo等4.3 导出报表4.3.1 将报表导出为PDF、Excel或其他常见格式 4.3.2 选择导出的数据范围和相关设置第五章:Access数据库查询和报表的进阶应用5.1 多表查询5.1.1 利用关系型数据库的特性,连接多个数据表进行查询5.1.2 使用连接查询、子查询等技术5.2 嵌入宏和VBA代码5.2.1 嵌入宏,实现自动化的查询和报表生成5.2.2 编写VBA代码,实现更复杂的数据处理和报表设计5.3 定时任务和自动化操作5.3.1 利用Windows任务计划程序实现定时运行查询和生成报表5.3.2 使用Access宏和VBA代码实现自动化操作通过本教程,你将学会如何使用Access数据库进行查询和报表的制作。

ACCESS实例教程--报表的操作(第5章)

ACCESS实例教程--报表的操作(第5章)

5
5.1.3 报表的类型
报表有4种类型,分别是:纵栏式报表、表格式报表、图表报 表、标签报表。 纵栏式报表以垂直方式显示记录,字段标签与字段值一起显示在 主体节内。 表格式报表以行、列形式显示记录,一页显示多条记录,字段标 签不在主体节区域,而是在页面页眉节中。分组字段在表格式报表中 设置。 图表报表用图表方式显示数据,直观地显示数据之间的关系。 标签报表是特殊类型的报表,将数据做成标签形式,一页中显示 许多标签。
11
显示结果:
12
5.2.4 在报表中显示非记录源字段
用 DLookup 函数在报表中显示非记录源(又称外部表)中 的字段值,外部表与当前表之间无须建立关系,在函数中以共有 字段作为连接条件即可。 DLookup("外部表字段名","外部表名","条件表达式") 说明: (1)函数中的各部分要用引号括起来。 (2)条件表达式格式:外部表字段名=' "&当前表字段名& " ' 注意其中单、双引号和&号的使用。 (3)如果有多个字段符合条件表达式,DLookup 函数只返回第 一个字段值。
8
5.2
在报表中使用控件
5.2.1 用文本框控件显示页码 [page] 计算当前页, [pages]计算总页数。 页码主要有2种显示格式: (1)显示格式为“当前页/总页数”, 如“3/10” 表达式:= [page] & "/" & [pages] (2)显示格式为“第n页/共m页”,如“第3页/共10页” 表达式:= "第" & [page] & "页/总" & [pages] & " 页"

ACCESS 编程代码

ACCESS 编程代码

第1章控件常量控件acBoundObjectFrame绑定对象框acCheckBox复选框acComboBox组合框acCommandButton命令按钮acCustomControl ActiveX(自定义)控件acImage图像acLabel标签acLine线条acListBox列表框acObjectFrame未绑定对象框或图表acOptionButton选项按钮acOptionGroup选项组acPage页acPageBreak分页符acRectangle矩形acSubform子窗体/子报表acTabCtl选项卡acTextBox文本框acToggleButton切换按钮在VB中对窗体控件的引用键入包含控件的窗体或报表的标识符,后面紧接!运算符和控件的名称。

例如,下列标识符将引用“订单”窗体上“订单ID”控件值:Forms![订单]![订单ID]引用子窗体或子报表上的控件,不必使用“窗体”或“报表”属性为窗体或报表指定完整的标识符。

例如,可以使用下列标识符来引用“订单”子窗体上的“数量”控件:Forms![订单]![订单子窗体]![数量]判断窗体或报表中控件的数目,然后将该数目赋给一个变量。

Dim intFormControls As IntegerDim intReportControls As IntegerintFormControls=Forms!Employees.CountintReportControls=Reports!FreightCharges.Count设置控件可见性Dim i,ii As IntegerFor ii=3To10Me.Controls.Item(ii).Visible=TrueNextFor i=11To22Me.Controls.Item(i).Visible=FalseNext按特殊名在VBA中设置控件的可见性:For i=27To47If Me.Controls.Item(i).Name Like"A*"ThenMe.Controls.Item(i).Visible=FalseEnd IfNext指定一个控件能否接受焦点Enabled属性:me.控件.Enabled=true'能=false'不能指定一个控件能否被编辑:locked如:me.控件.Locked=trueme.控件.Locked=false设置控件标题显示的文字Me.控件.Caption="显示窗体"设置标签颜色:belColor=200获得焦点及失去焦点时字段变更颜色。

ACCESS数据库常用代码

ACCESS数据库常用代码

1、单击命令按钮运行宏m1:DoCmd.RunMacro "m1"2、标签Tda标题设置为系统当前日期:Tda.Caption=Date3、使“保存”按钮CmdSave变为可用:CmdSave.Enabled=True将输入焦点移到"CmdEdit"命令按钮:Me.CmdEdit.SetFocus4、将文本框tText的内容作为窗体中标签bTitle的标题显示:bTitle.Caption=Me!tText5、窗体加载时窗体标题属性为系统当前日期:Form.Caption=Date6、打开窗体、单击"计算"按钮(名为bt),事件过程使用ADO数据库技术计算出表对象"tEmp"中党员职工的平均年龄,然后将结果显示在窗体的文本框"tAge"内并写入外部文件中。

If rs.RecordCount=0 ThentAge=sage7、将tStudent表中的全部记录显示出来:Select * From tStudent8、窗体加载时窗体标题属性为系统当前日期:Form.Caption=Date9、消息框:MsgBox"请重新输入口令!",vbOkquit10、输入框:k=InputBox("请输入大于0的整数值")预览输出报表对象"rEmp":DoCmd.OpenReport "rEmp",acViewPreview11、CaseIs>=3预览输出报表对象"rEmp":DoCmd.OpenReport "rEmp",acViewPreview12、Dim f(19) As Integerf(i)=f(i-1)+f(i-2)tData=f(19)13、单击"刷新"按钮,窗体记录源改为查询对象"qEm":Form.RecordSource="qEmp"单击"退出"按钮,关闭窗体:DoCmd.Close14、窗体"fEmp"的"加载"事件中设置标签"bTitle"以红色文本显示:bTitle.Caption=vbRed实现报表预览输出:mdPnt acViewPreview15、消息框:MsgBox"报表预览",vbQuestion+vbYesNo,"确认"16、动态设置窗体记录源为查询对象"qEmp":Form.RecordSource="qEmp"17、将考生文件夹下的图片文件"test.bmp"设置为窗体"fEmp"的背景:Form.Picture=CurrentProject&"\test.bmp"18、CDID文本框内内容显示颜色改为红色:CDID.ForeColor=vbRed19、动态设置窗体记录源为查询对象"qEmp":Form.RecordSource="qEmp"关闭窗体:DoCmd.Close20、使“保存”按钮CmdSave变为可用:CmdSave.Enabled=True21、将文本框中输入的内容与文本串"等级考试测试"连接,并消除连接串的前导和尾随空白字符,用标签"bTitle"显示连接结果:bTitle.Caption=Trim(tText)&"等级考试测试"22、动态设置窗体记录源为查询对象"qEmp":Form.RecordSource="qEmp"23、预览输出报表对象"rEmp":DoCmd.OpenReport "rEmp",acViewPreview24、单击“退出”按钮,关闭当前窗体:DoCmd.Close单击“保存”按钮,“修改”按钮不可用:CmdEdit.Enable=False用户名_1控件不可用:Me!用户名_1.Enabled=False25、将标签显示内容设置为所选项目名加上"内容:"Me.Ldetail.Caption=Me.CItem.Value&"内容:"显示tStud表的全部记录:fDetail.Form.RecordSource="tStud"设置提示框:MsgBox "查询项目和查询内容不能为空!!!",vbOKOnly,"注意"设置窗体标题为XXXX年XX月+tTitle标签的标题:Me.Caption=Str(Year(Date))&"年"&Str(Month(Date))&"月"&Me.tTitle.Caption26、设置用户名为cueb,密码为1234:If name="cueb" And pass="1234" Then文本框tUser获得焦点:Me.tUser.SetFocus设置相关属性,实现“tPass”文本框内容以密码形式显示:Me.tPass.InputMask="Password"27、数据连接:Set rs=New ADODB.Recordset如果达到表结尾:If rs.EOF Then清空TxtDetail文本框:Me.TxtDetail=""28、消息框提示关闭窗体:If MsgBox("确认退出?",vbCritical+vbYesNo,"提示") Then29、设置代码执行宏M1:DoCmd.RunMacro"M1" 将Tda标签标题设置为“YYYY年雇员信息”,其中“YYYY”为系统当前年份,用函数获取:Me.Tda.Caption=Str(Year(Date))&"年雇员信息"30、动态设置窗体记录源属性为查询qEmp:Me.RecordSource="qEmp"31、计算1+2+3+…+n<=30000的最大值,并保存到变量n中:Dim s As Integern=1s=0Do While s<=30000s=s+nn=n+1Loopn=n–132、设置标签bTitle的标题为XX月+原标题:Me.bTitle.Caption=Str(Month(Date))&"月"&Me.bTitle.Caption33、设置bTitle标签为红色文本显示:Me.bTitle.ForeColor=RGB(255,0,0)调用mdPnt,预览输出:CallmdPnt(2)调用mdPnt,打印输出:CallmdPnt(0) 34、输入字符串后,产生反序:s1=Me.bTxt1'设置循环'***************Add1***************Fori=Len(Me.bTxt1)To1Step-1'***************Add1***************t=Mid(s1,i,1)s2=s2&tNexti'将结果显示在bTxt2中'***************Add2***************Me.bTxt2.Value=s2'***************Add2***************EndSub35、设置bTitle的标题为窗体的标题:Me.Caption = Me.bTitle.Caption36、报表标题显示标签控件"bTitle"的内容:Me.Caption = Me。

ACCESS报表设计

ACCESS报表设计

复习:案例:按课程名称模糊查询学生的学号、姓名、课程名称及成绩。

要求:不输入课程名称中,在子窗体中显示所有信息;当输入完整或部分课程名称时,单击“搜索”可以查出所有相关课程的学生成绩;单击“关闭”可以关闭该窗体。

1、创建主窗体,添加一个文本框,文本框名称为(),保存主窗体名称为()。

2、创建查询,保存为(),查询代码如下:Select stu99.xh AS 学号,stu99.xm as 姓名,kcb99.kcmc as 课程名称,cjb99.cj as 成绩From (stu99 inner join cjb99 on stu99.xh=cjb99.xh) inner join kcb99 on cjb99.kch=kcb99.kchWhere3、以()为记录源,创建数据表窗体,保存为()。

4、创建主子窗体,将数据表窗体()拖动到主窗体的主体中,系统自动添加一个子窗体或子报表控件,给该对象的名称为()5、在主窗体中,添加两个按钮,按钮标题文本分别为“搜索”和“关闭”,其中,搜索按钮的单击事件代码为(),关闭按钮的单击事件代码为()。

第八章报表设计主要内容:⏹报表的设计视图、结构、设计区、分类。

⏹使用向导创建报表。

⏹使用报表设计视图创建报表、排序与分组报表、交叉表报表。

⏹创建子报表⏹报表的打印和预览报表是Access 2000中数据库对象之一,主要用于打印数据和对数据进行汇总。

在报表中可以控制每个控件对象的大小和显示方式,并按照需要的方式输出相应的内容。

报表是Access用来打印数据库信息的对象。

它的主要功能就是根据需要将数据库中的有关数据提取出来进行整理、分类、汇总和统计,并以要求的格式打印出来。

报表可以打印输出表、查询或窗体中的数据。

任务一制作标签报表任务描述:设计一个标签报表,用于打印学生的信封标签,保存为“生成信封标签”。

通过设计标签报表,了解标签报表的作用;理解掌握使用向导创建报表的方法;学会设计标签报表,能够运算报表解决实际问题。

Access_9命令控件子窗体报表

Access_9命令控件子窗体报表

Access_9命令控件子窗体报表计算机二级考试access第9讲Access数据库的窗体设计1. 2. 3. 窗体的概念窗体的组成窗体分类:窗体分类:纵栏式窗体、表格式窗体、子窗体、数据表窗体、纵栏式窗体、表格式窗体、主/子窗体、数据表窗体、图表窗体、数据透视表窗体) 表窗体、数据透视表窗体) 4. 创建窗体:创建窗体:使用向导创建窗体,使用向导创建窗体,使用设计器创建窗体重点控件的含义及种类,控件的含义及种类,在窗体中添加和修改控件,在窗体中添加和修改控件,设置控件的常见属性难点Access数据库( Access数据库(第6章) 数据库12022年计算机二级考试access第9讲Access数据库的窗体设计窗体上的常用控件:窗体上的常用控件:控件向导开控件向导关1. 控件创建方式:控件创建方式:控件属性:2. 控件属性:共性:共性:特性:特性:命令按钮控件Access数据库( Access数据库(第6章) 数据库22022年列表框控件计算机二级考试access第9讲Access数据库的窗体设计1. 标签控件例:标签控件例: 2. 文本框控件例:文本框控件例:绑定型计算型 3. 组合框控件例:组合框控件例:4. 命令按钮控件例:命令按钮控件例:Access数据库( Access数据库(第6章) 数据库32022年计算机二级考试access第9讲Access数据库的窗体设计标签控件属性:标签控件属性:Access数据库( Access数据库(第6章) 数据库42022年计算机二级考试access第9讲Access数据库的窗体设计文本框控件属性:文本框控件属性:控件来源可以无或=表达式=表达式表达式Access数据库( Access数据库(第6章) 数据库52022年计算机二级考试access第9讲Access数据库的窗体设计组合框控件属性:组合框控件属性:组合框不仅可以通过选择列表录入编辑,录入编辑,也可以直接录入列表没有的内容,表没有的内容,如果列源相关绑定数据源,磁盘后,绑定数据源,磁盘后,新录入组合框的内容会出现在列源中。

Access查询与报表设计

Access查询与报表设计

Access查询与报表设计引言在数据管理和数据分析的过程中,查询和报表设计是十分重要的环节。

Microsoft Access是一个强大的关系型数据库管理系统,提供了丰富的功能和工具来进行数据的查询和报表的设计。

本文将介绍Access的查询功能和报表设计,包括查询的基本语法、高级查询、报表设计的基本步骤和常用功能。

查询的基本语法查询是Access中最常用的功能之一。

通过查询,您可以提取和过滤出符合特定条件的数据。

查询基于结构化查询语言(SQL),使用SQL语句来描述查询的要求。

以下是一些常用的查询语法:•SELECT:用于指定要从数据库中返回哪些字段的数据。

•FROM:用于指定数据源,即从哪个数据表中检索数据。

•WHERE:用于指定查询的条件,限制返回结果满足指定的筛选条件。

•ORDER BY:用于对结果进行排序,可以按照某个字段进行升序或降序排序。

下面是一个简单的查询示例:SELECT FirstName, LastNameFROM EmployeesWHERE Country ='USA'ORDER BY LastName;以上查询语句的含义是从Employees表中选择FirstName和LastName两个字段的数据,其中Country字段的值为’USA’,并按照LastName字段进行升序排序。

高级查询除了基本的查询语法外,Access还提供了许多高级查询功能,可以帮助您更方便地进行数据的筛选和分析。

以下是一些常用的高级查询技巧:1. 使用通配符进行模糊查询通配符是用来替代其他字符的特殊字符。

在查询时,使用通配符可以模糊匹配数据。

Access支持两种通配符:•\*:匹配任意长度的字符。

•?:匹配单个字符。

下面是一个使用通配符进行模糊查询的示例:SELECT ProductNameFROM ProductsWHERE ProductName LIKE'Choc*';以上查询语句的含义是从Products表中选择ProductName字段的数据,其中ProductName以’Choc’开头的数据。

计算机国家二级ACCESS常用代码

计算机国家二级ACCESS常用代码

2.综合1.Form是窗体2.currentproject.path是当前路径,程序所在路径3.& 是连接符4.\\转义字符,代表反斜线字符\5.综合3.load 加载加载事件下me代表窗体4. click单击dim n as integer 定义n为整型loop while sum <=30000,sum大于30000时,循环结束,运行宏就是DoCmd.RunMacro 6.综合8.综合9.综合Recordsource记录源12.综合Msgbox 弹出对话框,警告13.简单综合14.综合16.综合18.综合对话框中显示的按钮的类型与数目vbYesNo 显示“是”和“否”按钮。

图标的样式(根据系统设置,可能伴有声音)vbQuestion 显示“询问信息”图标。

默认按钮vbDefaultButton1 第一个按钮是默认按钮。

(缺省)19.综合20.综合Value 数值型数字21.综合Forecolor 前景颜色22.综合23.综合24.综合25.综合26.简单Trim 功能删除字符串首部和尾部的空格。

综合ADORS.EOF=false 指的是在Recordset ADORS 中已经存在了相同的纪录27.综合28.综合29.综合Vbokonly 只显示“确定”按钮(缺省设置)34.综合35.综合Errhanle 错误处理36.综合37.综合38.39.40.综合41.综合42.综合43.综合45.综合47.49.50.综合。

Access代码

Access代码

1.关闭当前打开的窗体Private Sub cmdExit_Click()RunCommand acCmdExitEnd Sub2.打开窗体Private Sub cmdContacts_Click()DoCmd.OpenForm "窗体名称"End Sub3.判断combo1控件是否为空If IsNull(bo1) ThenMsgBox "请选择人员编号"Exit SubEnd IfDoCmd.GoToRecord , , acNewRec ‘使用GoToRecord 方法可以使打开的表、窗体或查询结果集中的指定记录成为当前记录acNewRec新记录1、组合框的循环选择在双击事件中加入,也可用在键盘按上下箭头事件中:Screen.ActiveControl.ListIndex = (Screen.ActiveControl.ListIndex + 1) Mod Screen.ActiveControl.ListCount2、窗体单击及移动记录时选定记录(反黑显示)在成为当前事件中加入:DoCmd.RunCommand acCmdSelectRecord3、组合框获得焦点后自动张开在获得焦点事件中加入:Combo0.Dropdown4、文本框获得焦点后光标自动移动到文本的末尾在获得焦点事件(如有必要也在鼠标释放事件)中加入:Text0.SelStart = Len(Text0)5、随机抽取指定数量记录的查询在查询语句中Rnd([编号]) 的编号为表中的自动编号字段名:Select TOP 10 * FROM 表1 orDER BY Rnd([编号]);6、打印窗体中筛选显示的记录报表的记录源药与窗体的相同,在窗体的打印按钮单击事件中:DoCmd.OpenReport "报表名", acViewPreview, , Me.Filter7、去除窗体及子窗体的筛选及排序跟“记录”菜单中的“取消筛选/排序”作用相同:DoCmd.ShowAllRecords8、数据更改后提醒是否保存在窗体的更新前事件中(Form_BeforeUpdate):If Not (Cancel = (MsgBox("数据已更改,是否保存?", vbOKCancel + vbQuestion) = vbCancel)) Then DoCmd.DoMenuItem acFormBar, acEditMenu, acUndo, , acMenuVer709、选定一个选项,自动把与选项相关信息辅助录入(即一拖几)在选项的更改事件中,用Dlookup函数查找相关信息并辅值给当前记录:供货商=DLookup("公司名称", "供货商资料", "[供货商编号]= '" & Me![供货商编号] & "'")10、设置字段的默认值为当前表的最后一条记录的值(或序号加1)在窗体的成为当前事件中,用Dlast函数查找最后记录相关值并辅值给字段的默认值:成绩.DefaultValue = "'" & DLast("成绩", Me.RecordSource) & "'"11、删除重复记录(字段)表中要有自动编号字段(ID),可建立删除查询或执行RunSql语句(其中[ ]填写对应的表名、重复字段名、关键字段名):Delete * FROM [表] Where DCount("[字段]","[表]","[字段]='" & [字段] & "'")>1 AND [ID]>DLookUp("[ID]","[表]","[字段]='" & [字段] & "'") or [字段] Is Null;12、班级成绩排名查询可根据年级、班级和不同科目替换查询中的相应字段名:Select *, [英语]+[数学]+[语文] AS 总分, DCount("*","成绩表","[年级]='" & [年级] & "' and ([英语]+[数学]+[语文])>" & [英语]+[数学]+[语文])+1 AS 年级名次FROM 成绩表orDER BY 成绩表.年级, [英语]+[数学]+[语文] DESC;删除N天之前的备份正文:Function ShowFolderList(folderspec, d) '删除N天之前的备份Dim a As BooleanDim fso, f, f1, fc, s, dtSet fso = CreateObject("Scripting.FileSystemObject")Set f = fso.GetFolder(folderspec)Set fc = f.FilesFor Each f1 In fcdt = f1.DateCreated '建日期和时间'dt = f1.DateLastAccessed '上次访问日期和时间'dt = f1.DateLastModified '上次修改日期和时间If DateDiff("d", dt, Now) > d Thens = s & & vbT ab & dt & vbCrLff1.DeleteEnd IfNextShowFolderList = "下列文件被删除了( " & Now & "):" & vbCrLf & sSet fso = NothingEnd Functionsql语句(一)词汇解释摘要:sql 语句(一)词汇解释正文:DISTINCTSELECT关键字支持用户查询数据表中指定字段的所有数据,但是这样有时就会不可避免的出现重复信息。

ACCESS报表控件整理代码

ACCESS报表控件整理代码

Option Compare Database'========================================='作用: 为报表画线,统一各控件的宽度.高度.和间隙'1.取主体和页面页眉第一个控件的高度height为标准,设置其他控件的高度.'2.以主体的每一个控件的宽度width为标准,设置页面页眉相对应控件的宽度'3.连接主体和页面页眉的控件,使其隙一致.'==========================================Public Function ReportSheet(rpt As Report, _LeftControl As control, _RightControl As control, _Optional RowsOfPage As Integer, _Optional sTYLE As Integer = 0, _Optional HasColumnHeader As Boolean = True) '报表画线设置'On Error Resume NextDim intI As IntegerDim lngTop As Long '表格上边距,即报表页眉的高度Dim lngBottom As Long '表格下边距,报表页眉的高度+主体节高度×每页要显示的记录数Dim lngLeft As Long '表格左边距,第一个控件的左边距Dim lngRight As Long '表格右边距,最后一个控件的左边距+最后一个控件的宽度Dim lngRowHeight As Long '行高,即主体节高度Dim lngacDetaiHeight As Long '主体高度Dim lngSumH As Long '主体多行的总高度+ 页面页眉的高度(线上端起始位置)Dim lngYmKjheight As Long '页面页眉最低层(标题)行中的第一个控件的高度Dim lngRows As LongDim lngRowTop As LongDim lngBottomMax As LongDim lngDim ctl As controlWith rptFor Each ctl In .Section(acPageHeader).ControlsIf ctl.Tag = "ymym" Then '页面页眉的标题行要在Tag中作出特殊标记ymymlngYmKjheight = ctl.Height 'ctl.TopExit ForEnd IfNextlngRowHeight = .Section(acDetail).Height ' 行高:主体节高度lngTop = .Section(acPageHeader).Height ' 设上边距为页面页眉高度,为防止报表没有页面页眉所以代码单独一行If .Page = 1 Then lngTop = lngTop + .Section(acHeader).Height ' 第一页再加上报表页眉高度,为防止报表没有报表页眉所以代码单独一行lngBottomMax = .Section(acPageFooter).Height ' 页面页脚高度,为防止报表没有页面页脚所以代码单独一行lngacDetaiHeight = .ScaleHeight - lngBottomMax ' 下边距lngBottomMax = .ScaleHeight - lngBottomMax ' 报表高度减去页面页脚高度得到最大允许的下边距.DrawWidth = 5End WithlngRows = Int((lngBottomMax - lngTop) / lngRowHeight) ' 当前页面能容纳的行数If RowsOfPage > 0 ThenIf RowsOfPage < lngRows Then lngRows = RowsOfPage ' 如果指定的行数不超过能容纳的行数,取指定行数End IflngBottom = lngTop + lngRowHeight * lngRows ' 根据行数计算表格下边距If HasColumnHeader Then'lngRows = lngRows + 1lngTop = lngTop - lngYmKjheight 'lngRowHeight ' 页面页眉的高度减页面页眉控件高度(行高)'lngacDetaiHeight = lngacDetaiHeight - lngYmKjheightEnd IflngLeft = rpt.ScaleWidthFor Each ctl In rpt.Section(acPageFooter).ControlsIf ctl.Tag = "ymyj2" Then '页面页脚的第一行ymyj第二行ymyj2要在Tag中作出特殊标记lngacDetaiHeight = lngacDetaiHeight + ctl.Height + ctl.topExit ForEnd IfNextFor Each ctl In rpt.Section(acDetail).ControlsIf lngLeft > ctl.left Then lngLeft = ctl.left ' 表格左边距If lngRight < ctl.left + ctl.Width Then lngRight = ctl.left + ctl.Width ' 表格右边距If sTYLE <> 1 Then rpt.Line (ctl.left, lngTop)-(ctl.left, lngBottom) ' 画竖线Next'下面加50 ,是把最后一行线下移50,和左右竖线延长50,是为了防止最后一排控件的高度太小,与线太靠近了,是为了更好看一点。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Option Compare Database'========================================='作用: 为报表画线,统一各控件的宽度.高度.和间隙'1.取主体和页面页眉第一个控件的高度height为标准,设置其他控件的高度.'2.以主体的每一个控件的宽度width为标准,设置页面页眉相对应控件的宽度'3.连接主体和页面页眉的控件,使其隙一致.'==========================================Public Function ReportSheet(rpt As Report, _LeftControl As control, _RightControl As control, _Optional RowsOfPage As Integer, _Optional sTYLE As Integer = 0, _Optional HasColumnHeader As Boolean = True) '报表画线设置'On Error Resume NextDim intI As IntegerDim lngTop As Long '表格上边距,即报表页眉的高度Dim lngBottom As Long '表格下边距,报表页眉的高度+主体节高度×每页要显示的记录数Dim lngLeft As Long '表格左边距,第一个控件的左边距Dim lngRight As Long '表格右边距,最后一个控件的左边距+最后一个控件的宽度Dim lngRowHeight As Long '行高,即主体节高度Dim lngacDetaiHeight As Long '主体高度Dim lngSumH As Long '主体多行的总高度+ 页面页眉的高度(线上端起始位置)Dim lngYmKjheight As Long '页面页眉最低层(标题)行中的第一个控件的高度Dim lngRows As LongDim lngRowTop As LongDim lngBottomMax As LongDim lngDim ctl As controlWith rptFor Each ctl In .Section(acPageHeader).ControlsIf ctl.Tag = "ymym" Then '页面页眉的标题行要在Tag中作出特殊标记ymymlngYmKjheight = ctl.Height 'ctl.TopExit ForEnd IfNextlngRowHeight = .Section(acDetail).Height ' 行高:主体节高度lngTop = .Section(acPageHeader).Height ' 设上边距为页面页眉高度,为防止报表没有页面页眉所以代码单独一行If .Page = 1 Then lngTop = lngTop + .Section(acHeader).Height ' 第一页再加上报表页眉高度,为防止报表没有报表页眉所以代码单独一行lngBottomMax = .Section(acPageFooter).Height ' 页面页脚高度,为防止报表没有页面页脚所以代码单独一行lngacDetaiHeight = .ScaleHeight - lngBottomMax ' 下边距lngBottomMax = .ScaleHeight - lngBottomMax ' 报表高度减去页面页脚高度得到最大允许的下边距.DrawWidth = 5End WithlngRows = Int((lngBottomMax - lngTop) / lngRowHeight) ' 当前页面能容纳的行数If RowsOfPage > 0 ThenIf RowsOfPage < lngRows Then lngRows = RowsOfPage ' 如果指定的行数不超过能容纳的行数,取指定行数End IflngBottom = lngTop + lngRowHeight * lngRows ' 根据行数计算表格下边距If HasColumnHeader Then'lngRows = lngRows + 1lngTop = lngTop - lngYmKjheight 'lngRowHeight ' 页面页眉的高度减页面页眉控件高度(行高)'lngacDetaiHeight = lngacDetaiHeight - lngYmKjheightEnd IflngLeft = rpt.ScaleWidthFor Each ctl In rpt.Section(acPageFooter).ControlsIf ctl.Tag = "ymyj2" Then '页面页脚的第一行ymyj第二行ymyj2要在Tag中作出特殊标记lngacDetaiHeight = lngacDetaiHeight + ctl.Height + ctl.topExit ForEnd IfNextFor Each ctl In rpt.Section(acDetail).ControlsIf lngLeft > ctl.left Then lngLeft = ctl.left ' 表格左边距If lngRight < ctl.left + ctl.Width Then lngRight = ctl.left + ctl.Width ' 表格右边距If sTYLE <> 1 Then rpt.Line (ctl.left, lngTop)-(ctl.left, lngBottom) ' 画竖线Next'下面加50 ,是把最后一行线下移50,和左右竖线延长50,是为了防止最后一排控件的高度太小,与线太靠近了,是为了更好看一点。

If sTYLE <> 1 Then rpt.Line (lngRight, lngTop)-(lngRight, lngacDetaiHeight + 50) ' 在最右边画竖线If sTYLE <> 1 Then rpt.Line (lngLeft, lngTop)-(lngLeft, lngacDetaiHeight + 50) '在最左边画竖线'画横线If sTYLE <> 2 ThenIf HasColumnHeader Thenrpt.Line (lngLeft, lngTop)-(lngRight, lngTop) '画标题顶横线For intI = 0 To lngRows'主体多行的总高度+ 页面页眉的高度(线上端起始位置)lngSumH = lngRowHeight * intI + lngTop + lngYmKjheightrpt.Line (lngLeft, lngSumH)-(lngRight, lngSumH)NextElseFor intI = 0 To lngRows'主体多行的总高度+ 页面页眉的高度(线上端起始位置)lngSumH = lngRowHeight * intI + lngToprpt.Line (lngLeft, lngSumH)-(lngRight, lngSumH)NextEnd Ifrpt.Line (lngLeft, lngacDetaiHeight + 50)-(lngRight, lngacDetaiHeight + 50) '画底端横线End IfEnd FunctionPublic Sub SameRoportFormat(rptName As String) '报表整齐设计Dim lngZtKj As Long '主体控件高度Dim lngYmKj As Long '页面页眉控件高度Dim zname As StringDim zleft As Single '控件的左Dim zwidth As Single '控件的宽'Dim zheight As Single '控件的高'Dim yheight As SingleDim myRpt As ReportDim ctr As control '参照控件Dim ctl As control '页面页眉页脚控件DoCmd.OpenReport rptName, acViewDesign'取主体和页面页眉第一各控件的heightSet myRpt = Access.Reports(rptName)For Each ctr In myRpt.主体.ControlsIf TypeName(ctr) <> "Line" And ctr.Tag = "zt" ThenlngZtKj = ctr.Height'tt = ctr.TopExit ForEnd IfNextFor Each ctr In myRpt.页面页眉.ControlsIf TypeName(ctr) <> "Line" And ctr.Tag = "ymym" ThenlngYmKj = ctr.HeightExit ForEnd IfNext'设主体各Textbox之间的间隙一致zleft = 0For Each ctr In myRpt.主体.Controlsctr.left = zleftctr.Height = lngZtKjctr.Tag = "zt"ctr.top = 0 '设置主体中控件的顶部与主体的距离(要稍许大一点,能不被主体本身遮住为好)zleft = ctr.left + ctr.WidthNext'设置页面页眉的Label与主体各Textbox的宽度一致For Each ctr In myRpt.主体.Controlszname = zwidth = ctr.Widthzleft = ctr.leftFor Each ctl In myRpt.页面页眉.ControlsIf ctl.Tag = "ymym" Or ctl.Tag = "left" Then '页面页眉的第一行的特殊标记ywidth = ctl.WidthIf Split(, "_")(0) = zname Then '控件取名特殊化ctl.left = zleftctl.Width = zwidth'ctl.TextAlign = 2ctl.Height = lngYmKjctl.Tag = "ymym"ctl.top = 1953 '设置页面页眉中控件的顶部与页眉的距离(要稍许大一点,能不被页眉本身遮住为好)Exit ForEnd IfEnd IfNextFor Each ctl In myRpt.页面页脚.ControlsIf ctl.Tag = "ymyj" Then '页面页脚的第一行的特殊标记ywidth = ctl.Width'MsgBox Split(, "_")(1)If Split(, "_")(0) = zname Then '控件取名特殊化ctl.left = zleftctl.Width = zwidth'ctl.TextAlign = 2ctl.Height = lngYmKjctl.Tag = "ymyj"ctl.top = 0 '设置页面页脚中控件的顶部与页眉的距离(要稍许大一点,能不被页眉本身遮住为好)Exit ForEnd IfEnd IfNextFor Each ctl In myRpt.页面页脚.ControlsIf ctl.Tag = "ymyj2" Then '页面页脚的第二行的特殊标记ywidth = ctl.Width'MsgBox Split(, "_")(1)If Split(, "_")(0) = zname Then '控件取名特殊化ctl.left = zleftctl.Width = zwidth'ctl.TextAlign = 2ctl.Height = lngYmKjctl.Tag = "ymyj2"ctl.top = lngYmKj '设置页面页脚中控件的顶部与页眉的距离(要稍许大一点,能不被页眉本身遮住为好)Exit ForEnd IfEnd IfNextNextmyRpt.主体.Height = lngZtKj '设置主体表中控件的顶端离页面页眉的行高(即第一行的行高)myRpt.页面页眉.Height = lngYmKj '+ 80 '设置主体表中控件的行高(即第二行到结束的行高)myRpt.页面页脚.Height = lngYmKj '+ 80'设置完成保存一下DoCmd.Close acReport, rptName, acSaveYes'再打开看看是否成功End Sub在报表的VBE中复制下列代码,即可.Private Sub Report_Page()'hs 表示行数, 1表示样式(1 大概表示竖线,2 大概表示横线),False 表示标题不加线ReportSheet Me, Me.FId, Note ', hs , 1, FalseEnd Sub。

相关文档
最新文档