建立数据库
1 Public Sub BD_Create() 2 3 On Error GoTo db_err 4 5 Dim pstr As String 6 7 Dim tb1 As New Table 8 9 pstr = "PROVIDER=Microsoft.Jet.OLEDB.4.0;" '必须用4.0 10 11 pstr = pstr & "Data Source=" & AppPath & "jtl.mdb;" 12 13 Db.Create (pstr) 14 15 Db.ActiveConnection = pstr 16 17 tb1.Name = "平均力值" '设定表名 18 19 tb1.ParentCatalog = Db 20 21 tb1.Columns.Append "DevCode", adVarWChar 22 23 Exit Sub 24 25 db_err: 26 MsgBox " 数据库创建失,系统中已有数据库!" & Err.Description, vbExclamation + vbOKOnly, " 创建失败..." 27 DB_Disconnect 28 End Sub
连接数据库
'=============================================== '连接数据库 Public Sub DB_Connect() On Error GoTo db_err Conn.Open "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=" & AppPath & "jtl.mdb;" If Conn.State = adStateOpen Then State_Conn = True Exit Sub db_err: MsgBox " 无法连接数据库:" & Err.Description, vbExclamation + vbOKOnly, " 连接失败..." DB_Disconnect End Sub '</Added by: Project Administrator at: 2023-5-25-下午 09:18:39 on machine: U5V07SRJVLTECTJ> '=============================================== '关闭数据库 Public Sub DB_Disconnect() If Conn.State <> adStateClosed Then Conn.Close Set Conn = Nothing State_Conn = False End Sub '获得数据库连接状态 Public Property Get ConnState() As Boolean ConnState = State_Conn End Property Private Sub Class_Initialize() State_Conn = False End Sub
ACCESS数据表的更新
Public Sub UA_RecData() Dim sql As String Dim rs As New ADODB.Recordset sql = "select * from 平均力值 where FDateTime ='" & pdtDateTime & "'" rs.Open sql, Conn, adOpenKeyset, adLockReadOnly If rs.RecordCount Then Updata_RecData Else Add_RecData End If Debug.Print rs.RecordCount rs.Close’注意使用后关掉数据表 Add_Err: End Sub
ACCESS库字段变量类型
自动编号用:adNumeric,备注用adLongVarWChar 以下是部分说明: adBigInt 8 字节带符号的整数 (DBTYPE_I8). adBinary 二进制值 (DBTYPE_BYTES). adBoolean 布尔型值 (DBTYPE_BOOL). adByRef 与其他类型一起加入逻辑 OR 以指示该数据是其他类型数 据的指针 (DBTYPE_BYREF). adBSTR 以空结尾的字符串 (Unicode) (DBTYPE_BSTR). adChar 字符串值 (DBTYPE_STR). adCurrency 货币值 (DBTYPE_CY).货币数字的小数点位置固定、小数 点右侧有四位数字.该值保存为 8 字节范围为10,000 的带符 号整型值. adDate 日期值 (DBTYPE_DATE).日期按双精度型数值来保存, 数 字全部表示从 1899 年 12 月 30 开始的日期数.小数部分是 一天当中的片段时间. adDBDate 日期值 (yyyymmdd) (DBTYPE_DBDATE). adDBTime 时间值 (hhmmss) (DBTYPE_DBTIME). adDBTimeStamp 时间戳 (yyyymmddhhmmss 加 10 亿分之一的小数)(DBTYPE_DBTIMESTAMP). adDecimal 具有固定精度和范围的精确数字值 (DBTYPE_DECIMAL). adDouble 双精度浮点值 (DBTYPE_R8). adEmpty 未指定值 (DBTYPE_EMPTY). adError 32 - 位错误代码 (DBTYPE_ERROR). adGUID 全局唯一的标识符 (GUID) (DBTYPE_GUID). adIDispatch OLE 对象上 Idispatch 接口的指针 (DBTYPE_IDISPATCH). adInteger 4 字节的带符号整型 (DBTYPE_I4). adIUnknown OLE 对象上 IUnknown 接口的指针 (DBTYPE_IUNKNOWN). adLongVarBinary 长二进制值. adLongVarChar 长字符串值. adLongVarWChar 以空结尾的长字符串值. adNumeric 具有固定精度和范围的精确数字值 (DBTYPE_NUMERIC). adSingle 单精度浮点值 (DBTYPE_R4). adSmallInt 2 字节带符号整型 (DBTYPE_I2). adTinyInt 1 字节带符号整型 (DBTYPE_I1). adUnsignedBigInt 8 字节不带符号整型 (DBTYPE_UI8). adUnsignedInt 4 字节不带符号整型 (DBTYPE_UI4). adUnsignedSmallInt 2 字节不带符号整型 (DBTYPE_UI2). adUnsignedTinyInt 1 字节不带符号整型 (DBTYPE_UI1). adUserDefined 用户定义的变量 (DBTYPE_UDT). adVarBinary 二进制值. adVarChar 字符串值. adVariant 自动变体型 (DBTYPE_VARIANT). adVector 与其他类型一起加入逻辑 OR 中, 指示数据是 DBVECTOR 结构(由 OLE DB 定义).该结构含有元素的计数和其他类型 (DBTYPE_VECTOR) 数据的指针. adVarWChar 以空结尾的 Unicode 字符串. adWChar
ACCESS字段变量类型
1.文本型(Text):用于输入文本或文本与数字相结合的数据,最长为255个字符(字节),默认值是50。在Access中,每一个汉字和所有特殊字符(包括中文标点符号)都算作一个字符。
表示方法:用英文单引号(’ ’)或英方双引号(” ”)括起来。例:’王刚’、’会计2班’、’3246291’等。
2.货币型(Currency):用来存储货币值,占8个字节,在计算中禁止四舍五入。
3.数字型(Number):用于可以进行数值计算的数据,但货币除外。数字型字段按字段大小分字节、整型、长整型、单精度型、双精度型、同步复制ID和小数7种情形,分别占1、2、4、4、8、16和12个字节。
表示方法:直接书写即可。例:3246291
4.日期/时间型(Date/Time):用于存储日期和(或)时间值,占8个字节。
表示方法:用英文字符#号括起来。例:#2010-02-25#、#02/25/2010#、#2010-02-25 15:30#、#2010-02-25 3:30pm#、#15:30#都是合法的表示方法。不过要注意:日期和时间之间要留有一个空格。
5.自动编号型(AutoNumber):用于在添加记录时自动插入的序号(每次递增1或随机数),默认是长整型,也可以改为同步复制ID。自动编号不能更新。
6.是/否型(Yes/No):用于表示逻辑值(是/否,真/假),占1个字节。
表示方法: .T. .F. True false
7.备注型(Memo):用于长文本或长文本与数字(大于255个字符)的结合,最长为65535个字符。
8.OLE对象型(OLE Object):用于使用OLE协议在其它程序中创建的OLE对象(如Word文档、Excel电子表格、图片、声音等),最多存储1GB(受磁盘空间限制)。
9.超级链接型(Hyper Link):用于存放超级链接地址,最多存储64000个字符。
10.查阅向导型(Lockup Wizard):让用户通过组合框或列表框选择来自其它表或值列表的值,实际的字段类型和长度取决于数据的来源。
11、附件 ,新版本新增的数据类型,可以上传图片或文件。
'adkeyPrimary 1 是默认值,此键是主键 'adkeyForeign 2 此键是外键 'adKeyUnique 3 此键盘是唯一键
rst.Open "tblVoucher", conn, adOpenKeyset, adLockOptimistic什么意思 简单理解为打开表tblVoucher 这个参数有四个值分别是: adOpenForwardOnly 表示只允许在记录集内的记录间往前移动。这个是缺省值。 adOpenKeyset 反映由其它用户所做的对记录的改变或者删除动作,但并不反映由其它用户做作的添加新记录的动作。 adOpenDynamic 反映由其它用户所做的对记录的改变或者删除动作,包括添加的新记录 adOpenStatic 不反映其它用户对记录所做的修改,添加,删除动作。 这四个值VBSCRIPT预定义位 adOpenForwardOnly = 0 adOpenKeyset = 1 adOpenDynamic = 2 adOpenStatic = 3 lockType 表示当打开记录集时,数据提供者用于锁定数据库的类型: adLockReadOnly 数据不能改变,这是缺省值! adLockPessimistic 数据提供者在开始编辑数据的时候锁定记录 adLockOptimistic 仅当调用update方法时,数据提供者锁定记录 adLockBatchOptimistic 用于批处理修改 他们的常量值定义分别是: adLockReadOnly = 1 adLockPessimistic = 2 adLockOptimistic = 3 adLockBatchOptimistic = 4
标签:VB,字节,DBTYPE,ACCESS,数据表,带符号,整型,Conn,Sub From: https://www.cnblogs.com/hardenzhao/p/17434176.html