作者:专业长膘 | 来源:互联网 | 2023-10-13 11:19
源代码:
Num1 = rescmpp1!id
Str1 = Trim(rescmpp1!Callno)
Str2 = Trim(rescmpp1!kh)
Text2(0) = Mid(Return_Spnumber, 4) mid怎么后面的参数是两个也可以?怎么理解?
这些定义的如:connection,command等是什么意思?
Dim ConnectCmpp_HT As Connection, ComCmpp_HT As Command, ResCmpp_HT As Recordset, StrCmpp_HT As String
请老大帮我解决一下!!!急!!!!
7 个解决方案
这里的!与.是一样的.如:Numl=rescmppl.id
mid(return_spnumber,4)表示取从第4个开始到最后一个数据
mid(return_spnumber,4,6)表示取从第4个开始到第6个数据
这里有中文的说明,看看吧。
Mid 函数
返回 Variant (String),其中包含字符串中指定数量的字符。
语法
Mid(string, start[, length])
Mid 函数的语法具有下面的命名参数:
部分 说明
string 必要参数。字符串表达式,从中返回字符。如果 string 包含 Null,将返回 Null。
start 必要参数。为 Long。string 中被取出部分的字符位置。如果 start 超过 string 的字符数,Mid 返回零长度字符串 ("")。
length 可选参数;为 Variant (Long)。要返回的字符数。如果省略或 length 超过文本的字符数(包括 start 处的字符),将返回字符串中从 start 到尾端的所有字符。
说明
欲知 string 的字符数,可用 Len 函数。
注意 MidB 函数作用于字符串中包含的字节数据,如同在双字节字符集(DBCS)语言中一样。因此其参数指定的是字节数,而不是字符数。对于使用 MidB的示例代码,请参阅示例主题中的第二个示例。
Connection 对象 (ADO)
Connection 对象代表了打开的、与数据源的连接。
说明
Connection 对象代表与数据源进行的唯一会话。如果是客户端/服务器数据库系统,该对象可以等价于到服务器的实际网络连接。取决于提供者所支持的功能,Connection 对象的某些集合、方法或属性有可能无效。
使用 Connection 对象的集合、方法和属性可执行下列操作:
在打开连接前使用 ConnectionString、ConnectionTimeout 和 Mode 属性对连接进行配置。
设置 CursorLocation 属性以便调用支持批更新的“客户端游标提供者”。
使用 DefaultDatabase 属性设置连接的默认数据库。
使用 IsolationLevel 属性为在连接上打开的事务设置隔离级别。
使用 Provider 属性指定 OLE DB 提供者。
使用 Open 方法建立到数据源的物理连接。使用 Close 方法将其切断。
使用 Execute 方法执行对连接的命令,并使用 CommandTimeout 属性对执行进行配置。
可使用 BeginTrans、CommitTrans 和 RollbackTrans 方法以及 Attributes 属性管理打开的连接上的事务(如果提供者支持则包括嵌套的事务)。
使用 Errors 集合检查数据源返回的错误。
通过 Version 属性读取所使用的 ADO 执行版本。
使用 OpenSchema 方法获取数据库纲要信息。
注意 如果不使用 Command 对象执行查询,请将查询字符串传送给 Connection 对象的 Execute 方法。但是,当需要使命令文本具有持久性并重新执行,或使用查询参数的时候,则必须使用 Command 对象。
可以创建与先前所定义的任何其他对象无关的 Connection 对象。
注意 可以象执行 Connection 对象的本地方法一样执行命令或存储过程。
如果要执行命令,可以使用 Command 对象的 Name 属性给命令指定一个名称。将 Command 对象的 ActiveConnection 属性设置为该连接。然后,象发出 Connection 对象的方法一样发出使用命令名称的语句,后面可带任何参数(如果有返回行,则后面带 Recordset 对象)。设置 Recordset 属性以便自定义所产生的记录集。例如:
Dim cnn As New ADODB.Connection
Dim cmd As New ADODB.Command
Dim rst As New ADODB.Recordset
...
cnn.Open "..."
cmd.Name = "yourCommandName"
cmd.ActiveConnection = cnn
...
'命令名称、任意参数、以及可选记录集。
cnn.yourCommandName "parameter", rst
要执行存储过程,可以如同发出 Connection 对象的方法一样发出使用存储过程名称的语句,后面可带任何参数。ADO 将对参数类型进行“最佳判断”。例如:
Dim cnn As New ADODB.Connection
...
'存储过程名称及任意参数。
cnn.sp_yourStoredProcedureName "parameter"
Command 对象 (ADO)
Command 对象定义了将对数据源执行的指定命令。
说明
使用 Command 对象查询数据库并返回 Recordset 对象中的记录,以便执行大量操作或处理数据库结构。取决于提供者的功能,某些 Command 集合、方法或属性被引用时可能会产生错误。
可以使用 Command 对象的集合、方法、属性进行下列操作:
使用 CommandText 属性定义命令(例如,SQL 语句)的可执行文本。
通过 Parameter 对象和 Parameters 集合定义参数化查询或存储过程参数。
可使用 Execute 方法执行命令并在适当的时候返回 Recordset 对象。
执行前应使用 CommandType 属性指定命令类型以优化性能。
使用 Prepared 属性决定提供者是否在执行前保存准备好(或编译好)的命令版本。
使用 CommandTimeout 属性设置提供者等待命令执行的秒数。
通过设置 ActiveConnection 属性使打开的连接与 Command 对象关联。
设置 Name 属性将 Command 标识为与 Connection 对象关联的方法。
将 Command 对象传送给 Recordset 的 Source 属性以便获取数据。
注意 如果不想使用 Command 对象执行查询,请将查询字符串传送给 Connection 对象的 Execute 方法或 Recordset 对象的 Open 方法。但是,当需要使命令文本具有持久性并重新执行它,或使用查询参数时,则必须使用 Command 对象。
要独立于先前已定义的 Connection 对象创建 Command 对象,请将它的 ActiveConnection 属性设置为有效的连接字符串。ADO 仍将创建 Connection 对象,但它不会将该对象赋给对象变量。但是,如果正在将多个 Command 对象与同一个连接关联,则必须显式创建并打开 Connection 对象,这样即可将 Connection 对象赋给对象变量。如果没有将 Command 对象的 ActiveConnection 属性设置为该对象变量,则即使使用相同的连接字符串,ADO 也将为每个 Command 对象创建新的 Connection 对象。
要执行 Command,只需通过它所关联的 Connection 对象的 Name 属性,将其简单调用即可。必须将 Command 的 ActiveConnection 属性设置为 Connection 对象。如果 Command 带有参数,则将这些参数的值作为参数传送给方法。
"Num1 = rescmpp1!id 这个中间的"!"是有什么作用的?"
如果没说错的话,你的rescmpp1是个adodb.recordset,那么这条语句就相当于:
Num1=rescmpp1.Fields("id")
就是取字段id的值!
这种用法的优点是使用方便,但不如.Fields("?")方法灵活,如:
dim myF as String
myF="字段名"
... ...
'可以这样用
Rs.Fields(""+myF+"")
'不能这样用
Rs!myF