2023-09-11 07:59来源:m.sf1369.com作者:宇宇
使用Script Control在工程->引用 里添加Microsoft Script Controls 1.0代码如下Private Sub Command1_Click() Dim vbs As String Open "VBS的文件路径" For Input As #
1 vbs = StrConv(InputB(LOF(1), 1), vbUnicode) Close #
1 Dim s As ScriptControl Set s = CreateObject("ScriptControl"
) s.Language = "VBScript" s.AllowUI = True'添加代码并执行 s.AddCode vbs s.Run "vbs中的过程名" Set s = NothingEnd Sub其中 VBS的文件路径 和 vbs中的过程名 自己替换
123 就是整型,长整型就是比整型表示的数字范围更大,单精度一般用来表示小数,双精度就是比单精度表示得更精确,一般就是小数点后面可以有更多位数。
首先,工程-引用microsoftExcel11.0)bjectLibrary然后代码如下:
DimxlAppAsObjectDimxlBookAsObjectSetxlApp=CreateObject("Excel.Application"
)SetxlBook=xlApp.Workbooks.AddWithxlAppxlApp.Visible=False.Rows(1).Font.Bold=True'设置第一行为粗体.Cells(10,10).Value="姓名".Application.Visible=TrueEndWithSetxlApp=NothingSetxlBook=Nothing如想了解其他操作excel的代码,可以在excel中,点击菜单的工具——宏——录制新宏。
然后你手动对excel操作,操作完成后停止录制。
再点击工具——宏——visualbasic编辑器,找到刚才录制的宏,就可以看到刚才对excel所做的操作对应的vb代码了。
一般而言, SQL Server 数据库有两种连接方式,一是利用SQL Server自带的客户端工具,如企业管理器、查询分析器、事务探查器等;
二是利用用户自己开发的客户端程序,如ASP 脚本、VB程序等,客户端程序中又是利用 ODBC 或者 OLE DB 等连接 SQL Server。 打开 SQL Server 数据库出错的可能原因主要有以下几点:
1. “SQL Server 不存在或访问被拒绝”
1) SQL Server名称或IP地址拼写有误 2) 服务器端网络配置有误 3) 客户端网络配置有误 2. “无法连接到服务器,用户xxx登陆失败”
该错误产生的原因是由于SQL Server使用了“仅 Windows“的身份验证方式,因此用户无法使用SQL Server的登录帐户(如 sa )进行连接。
3. 提示连接超时 如果遇到第三个错误,一般而言表示客户端已经找到了这台服务器,并且可以进行连接,不过是由于连接的时间大于允许的时间而导致出错。
PublicFunctionConnectString()_AsStringConnectString="FileDSN=info.dsn;UID=sa;PWD=23"'连接字符器,改成你自己的EndFunctionPublicFunctionExecuteSQL(ByValSQL_AsString,MsgStringAsString)_AsADODB.Recordset'这里是执行SQL语句,你只需要调用这个方法,把SQL查询语句参数传进来,最后返回一个RecordsetDimcnnAsADODB.ConnectionDimrstAsADODB.RecordsetDimsTokens()AsStringOnErrorGoToExecuteSQL_ErrorsTokens=Split(SQL)Setcnn=NewADODB.Connectioncnn.OpenConnectStringIfInStr("INSERT,DELETE,UPDATE",_UCase$(sTokens(0))
)Thencnn.ExecuteSQLMsgString=sTokens(0)&_"querysuccessful"ElseSetrst=NewADODB.Recordsetrst.OpenTrim$(SQL),cnn,_adOpenKeyset,_adLockOptimistic'rst.MoveLast'getRecordCountSetExecuteSQL=rstMsgString="查询到"&rst.RecordCount&_"条记录"EndIfExecuteSQL_Exit:Setrst=NothingSetcnn=NothingExitFunctionExecuteSQL_Error:MsgString="查询错误:"&_Err.DescriptionResumeExecuteSQL_ExitEndFunctionPublicFunctionTesttxt(txtAsString)AsBooleanIfTrim(txt)=""ThenTesttxt=FalseElseTesttxt=TrueEndIfEndFunction
首先,我们需要引用ADO.具体的方法是,在"工程" -- "引用" 中,找到"Microsoft ActiveX Data Object *.* Library",这里的"*.*"是指的时ADO的版本号,一般来说,应用程序或ActiveX控件都具有向下兼容性,所以我们尽可能选择比较新的版本.以确保程序在能识别旧版本Access的同时,也能识别较新版本的Access.
然后我们需要在程序中创建一个对象.就好比我们在窗体上添加一个FileBox才能看到文件名一样,只有创建了ADO对象,我们才能够访问数据库.常用的对象有两个,Connection和Recordset.
知道,不过不能直接读取,因为微软没有公布加密方式,所以要调用WORD来读取,然后获取它先在工程的引用里面加上Microsoft Word 11.0 Object Library Dim 剪切板文本 Dim Word文字处理系统界面 As Word.Application '建立一个word.application对象 Dim Word文档 As Word.Document Dim Word文档文本 As Word.Selection '在word文字处理系统中添加一个文档Set Word文字处理系统界面 = CreateObject("Word.Application") '选择对象 Word文字处理系统界面.Visible = False '不显示word.application,即word文字处理系统界面 Set Word文档 = Word文字处理系统界面.Documents.Open(文件路径) Set Word文档文本 = Word文字处理系统界面.Selection Word文档文本.WholeStory Word文档文本.Copy 剪切板文本 = Clipboard.GetText(vbCFText) '放到text1中 Text1.Text = 剪切板文本 'Clipboard.SetData Temp Word文档.Close '关闭文档 Word文字处理系统界面.Application.Quit Set Word文字处理系统界面 = Nothing '清空变量 Set Word文档文本 = Nothing'完成操作我通过剪切板来获取文本,因为这样可以保留格式(本人独创)如果直接获取也是可以的,不过格式全部丢失,所以我的方法会更好一点
dim con as new adodb.connection
dim rs as new adodb.recordset
private sub form_load() '在窗体加载事件中,设置两个文本框内容为空,
B.text="" '设置文本框B内容为空
C.text="" '设置文本框C内容为空
打开数据库连接
con.open "Provider=Microsoft.Jet.OLEDB.4.0;data source=参数.mdb;persist security info=false"
if rs.state<>adstateclosed then rs.close
rs.open "select * from 尺寸",con,1,3
if rs.eof=false and rs.bof=false then
rs.movefirst
while not rs.eof
combox.additem.rs.fields("A") '添加内容到combox中
rs.movenext
wend
end if
end sub
private combox_click()
if rs.state<>adstateclosed then rs.close
rs.open "select * from 尺寸 where A='" & combox.text & "'",con,1,3
if rs.eof=false and rs.bof=false then
B.text=rs.fields("B") '将查找到的内容分别赋给文本框B、C
C.text=rs.fields("C")
end if
end sub
以下代码能使用的前提是库引用、和数据库连接代码正确:
两种办法,一种是 用SQL,另一种是ADO
1、用SQL添加数据:
insert into 表名(字段1,字段2,字段3)
values(值01,值02,值03)
例如:
docmd.runsql"insert into EmpTable(Name,age,Duty,Salary) values('王明',35,'外贸总监',12500)"
2、用ADO的办法:
ADO比较复杂,给你一个完整的例子吧:
Dim strSqlfitjc As String
strSqlfitjc = "select * from *表"
Set RSfitjc = New ADODB.Recordset ‘定义一个ADO连接,连进数据库
RSfitjc.Open strSqlfitjc, cn, adOpenKeyset, adLockOptimistic ’打开连接
RSfitjc.addnew '添加一个纪录
RSfitjc.Fields("配件编号") = “style” ‘给每个字段赋值
.Update ’储存赋值的新纪录
.Close 关闭连接
End With
Public Sub OpenOraDB()
On Error GoTo ToExit
OraDB_Open = False
Set OraDB = New ADODB.Connection
OraConstr = "Provider=OraOLEDB.Oracle.1;Password=" & strOraPWD & ";User ID=" & strOraUser & ";Data Source=" & OraDBNetName & ";Persist Security Info=False"
OraDB.CursorLocation = adUseServer
OraDB.Open OraConstr
OraDB_Open = True
Exit Sub
ToExit:
'MsgBox "连接数据库服务器错误,您可以在网络正常后继续使用。",vbInformation , "错误信息"
OraDB_Open = False
End Sub
'关闭数据库
Public Sub CloseOraDB()
If OraDB_Open = True Then
If (OraDB.State = adStateOpen) Then
OraDB.Close
Set OraDB = Nothing
OraDB_Open = False
End If
End If
End Sub
'打开数据集,写入数据
Set OraRS = New ADODB.Recordset
OraRS.ActiveConnection = OraDB
OraRS.CursorLocation = adUseServer
OraRS.LockType = adLockBatchOptimistic
strOraRS = "select * from " & OraDBtablename
OraRS.Open strOraRS, OraDB, adOpenStatic, adLockOptimistic
OraRS.AddNew
OraRS.Fields("PID") = strOraPID
OraRS.Fields("pname") = strName").Value
OraRS.Fields("psex") = strPsex
OraRS.Update
'关闭数据集
OraRS.Close
Set OraRS = Nothing
http://topic.csdn.net/t/20050508/19/3990155.html