我在公用模块中定义了一个sql语句操作函数
Public Function Connectstring() As String
'Dim Str_path As String
Str_path = App.Path & "\" & "database\MoneyMIS.mdb"
Connectstring = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source='" & Str_path & "';Persist Security Info=False"
End FunctionPublic Function ExeCutesql(ByVal Sql As String, Msgstring As String) As ADODB.Recordset
Dim Cnn As ADODB.Connection
Dim Rst As ADODB.Recordset
Dim Stokens() As String
' On Error GoTo executesql_error
Stokens = Split(Sql)
Set Cnn = New ADODB.Connection
Cnn.Open Connectstring
If InStr("INSERT,DELETE,UPDATE", UCase$(Stokens(0))) Then
Cnn.Execute Sql
Else
Set Rst = New ADODB.Recordset
Rst.Open Trim$(Sql), Cnn, adOpenKeyset, adLockOptimistic
Set ExeCutesql = Rst
End If
executesql_exit:
Set Rst = Nothing 'ÊͷżÇ¼¼¯
Set Cnn = Nothing 'ÊÍ·ÅÁ¬½ÓÓï¾ä
Exit Function
executesql_error:
Resume executesql_exit
End Function然后用如下语句进行操作,但是没有作用,请问可能是什么原因呢
sqlstr = "insert into BorrowMoney " & "(BorrowMoneyDateIn,BorrowMoneyDateOut," & _
"BorrowMoneyNameIn,BorrowMoneyNameOut,BorrowMoneyNum,BorrowMoneyBZ)" & _
"values(" & "'" & Me.DTPicker1.Value & "'," & _
"'" & Me.DTPicker2.Value & "'," & _
num & "," & _
"'" & Me.Text1.Text & "'," & _
Val(Me.Text2.Text) & "," & _
"'" & Me.Text3.Text & "');"
Set rsdb = ExeCutesql(sqlstr, str_text)其他的sql语句都没有问题可以正常使用,但是这个就不行,我试过了用可视化数据管理器来验证这条语句,没有问题,但是一放到程序中就没有作用了
Public Function Connectstring() As String
'Dim Str_path As String
Str_path = App.Path & "\" & "database\MoneyMIS.mdb"
Connectstring = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source='" & Str_path & "';Persist Security Info=False"
End FunctionPublic Function ExeCutesql(ByVal Sql As String, Msgstring As String) As ADODB.Recordset
Dim Cnn As ADODB.Connection
Dim Rst As ADODB.Recordset
Dim Stokens() As String
' On Error GoTo executesql_error
Stokens = Split(Sql)
Set Cnn = New ADODB.Connection
Cnn.Open Connectstring
If InStr("INSERT,DELETE,UPDATE", UCase$(Stokens(0))) Then
Cnn.Execute Sql
Else
Set Rst = New ADODB.Recordset
Rst.Open Trim$(Sql), Cnn, adOpenKeyset, adLockOptimistic
Set ExeCutesql = Rst
End If
executesql_exit:
Set Rst = Nothing 'ÊͷżÇ¼¼¯
Set Cnn = Nothing 'ÊÍ·ÅÁ¬½ÓÓï¾ä
Exit Function
executesql_error:
Resume executesql_exit
End Function然后用如下语句进行操作,但是没有作用,请问可能是什么原因呢
sqlstr = "insert into BorrowMoney " & "(BorrowMoneyDateIn,BorrowMoneyDateOut," & _
"BorrowMoneyNameIn,BorrowMoneyNameOut,BorrowMoneyNum,BorrowMoneyBZ)" & _
"values(" & "'" & Me.DTPicker1.Value & "'," & _
"'" & Me.DTPicker2.Value & "'," & _
num & "," & _
"'" & Me.Text1.Text & "'," & _
Val(Me.Text2.Text) & "," & _
"'" & Me.Text3.Text & "');"
Set rsdb = ExeCutesql(sqlstr, str_text)其他的sql语句都没有问题可以正常使用,但是这个就不行,我试过了用可视化数据管理器来验证这条语句,没有问题,但是一放到程序中就没有作用了
解决方案 »
- 新人求助 VBA 翻译成 VB
- 如何调用添加的 Activex DLL 工程
- 帮我解释一下这几句代码的意思
- 如何实现窗体递归调用?
- 闲来无事,写写程序,遇到两个难题,各位达人不要客气,顶者也有分阿.
- 导出CSV时,+号如何解决,用文本打开正常,用Excel打开出问题,加了单引号后,双击才生效
- 新手问题! 关于With object 的问题!
- GetSystemMetrics什么作用阿?
- 請問哪里可以找到學習VB操作注冊表的文章﹐要求是比較深入的。給個網址﹐絕對給分。
- 安装.NET的问题,高分...
- 当浏览器完成网页的装载后,关闭所打开的新页面??
- 请问怎么样能使保存的文件名为当前日期与文本相连接,在线等!!!
Public Function Connectstring() As String
'Dim Str_path As String
Str_path = App.Path & "\" & "database\MoneyMIS.mdb"
Connectstring = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source='" & Str_path & "';Persist Security Info=False"
End FunctionPublic Function ExeCutesql(ByVal Sql As String, Msgstring As String) As ADODB.Recordset
Dim Cnn As ADODB.Connection
Dim Rst As ADODB.Recordset
Dim Stokens() As String' On Error GoTo executesql_error
Stokens = Split(Sql)
Set Cnn = New ADODB.Connection
Cnn.Open ConnectstringIf InStr("INSERT,DELETE,UPDATE", UCase$(Stokens(0))) Then
Cnn.Execute SqlElse
Set Rst = New ADODB.Recordset
Rst.Open Trim$(Sql), Cnn, adOpenKeyset, adLockOptimistic
Set ExeCutesql = RstEnd Ifexecutesql_exit:
Set Rst = Nothing 'ÊͷżÇ¼¼¯
Set Cnn = Nothing 'ÊÍ·ÅÁ¬½ÓÓï¾ä
Exit Function
executesql_error:Resume executesql_exit
End Function的时候在
If InStr("INSERT,DELETE,UPDATE", UCase$(Stokens(0))) Then
Cnn.Execute Sql
之后直接跳出了这个函数,请问这个是什么原因?
但是现在又出现了一个问题,我把时间格式改回默认的之后,DTPicker的值写入数据库的时候有日期和时间,而这之前都是只有日期的,我怎么样才能让DTPicker的值写入数据库的时候能只要日期不要时间?
注意,Format(Date , "DD\MM\YYYY")一定要是对日期格式进行。