注册 登录
编程论坛 VB6论坛

DataEnvironment设计器连接SQL数据库的问题

sncelpl 发布于 2022-07-11 16:27, 1995 次点击
DataEnvironment设计器连接SQL数据库DataReport连接DataEnvironment为空白是怎么回事请大佬,我在服务器上看了下dlp里也有数据可能是DataEnvironment里的dlp没有数据。数据库连接  Set Con = New ADODB.Connection '新建一个连接
    Con.Provider = "SQLOLEDB.1"
    Con.ConnectionString = "DATABASE=DLSY;SERVER=192.168.1.8;UID=sa;PWD=sa;"
    DataEnvironment.Connection.ConnectionString = Con

以下是打印
lsRS.AddNew
            For i = 0 To 32
                lsRS.Fields(i) = RS.Fields(i)
            Next
            lsRS.Update
            RS.MoveNext
        RS.MoveFirst
    now_find = Not now_find
    If MsgBox(("确定打印吗"), vbOKCancel, " 提示") = vbOK Then
电缆交流试验Report.DataMember = "dlp"
        Unload DataEnvironment
        电缆交流试验Report.Show
只有本站会员才能查看附件,请 登录


[此贴子已经被作者于2022-7-11 16:35编辑过]

6 回复
#2
约定的童话2022-07-11 16:38
参考:
 Set cn = CreateObject("adodb.connection")
    dizhistr = "Provider=sqloledb;Server=XXXXXX;Database=XXXX;Uid=XXXXX;Pwd=XXXX"
    cn.Open dizhistr
    On Error Resume Next
    sqlstr = "select * from 模块 "
    scrr = cn.Execute(sqlstr).GetRows
    Set jg = cn.Execute(sqlstr)
    cn.Close
    arr = ZhuanZhi(scrr)
#3
sncelpl2022-07-11 16:42
回复 2楼 约定的童话
只有本站会员才能查看附件,请 登录
我是用的网络连接

[此贴子已经被作者于2022-7-11 16:43编辑过]

#4
sncelpl2022-07-11 18:02
回复 2楼 约定的童话
问题已找到了
lsRS.AddNew
            For i = 0 To 32
                lsRS.Fields(i) = RS.Fields(i)
            Next
            lsRS.Update
            RS.MoveNext
        RS.MoveFirst
    now_find = Not now_find
    If MsgBox(("确定打印吗"), vbOKCancel, " 提示") = vbOK Then
电缆交流试验Report.DataMember = "dlp"
        Unload DataEnvironment
        电缆交流试验Report.Show
While Not lsRS.EOF()
lsRS.Delete
lsRS.MoveNext
Wend
End If
是数据还没传就删除了,While Not lsRS.EOF()
lsRS.Delete
lsRS.MoveNext
Wend
请问一下怎么可以我点确定后10秒再执行删除
#5
cwa99582022-07-13 07:56
建议删除数据单独用个过程来执行。
可以用定时器启动删除程序。你在这里只要给个启动定时器命令就可以了。
#6
约定的童话2022-07-13 08:09
回复 4楼 sncelpl
Public Sub Delay(HowLong As Date)    '延时程序
    TempTime = DateAdd("s", HowLong, Now)
    While TempTime > Now
        DoEvents    '控制权交给windows
    Wend
End Sub
加个延时: Delay 10
#7
sncelpl2022-07-14 12:14
回复 6楼 约定的童话
加个定时执行不行。
我加了个MsgBoxEx,0.1秒自动关闭就行了



Private Declare Function MsgBoxEx Lib "user32" Alias "MessageBoxTimeoutA" _
(ByVal hWnd As Long, ByVal lpText As String, ByVal lpCaption As String, ByVal _
wType As VbMsgBoxStyle, ByVal wlange As Long, ByVal dwTimeout As Long) As Long '声明
Option Explicit


 lsRS.AddNew
            For i = 0 To 32
                lsRS.Fields(i) = RS.Fields(i)
            Next
            lsRS.Update
            RS.MoveNext
        RS.MoveFirst
    now_find = Not now_find
 If MsgBox(("确定打印吗"), vbOKCancel, " 提示") = vbOK Then
电缆交流试验Report.DataMember = "dlp"
     Unload DataEnvironment
        电缆交流试验Report.Show
MsgBoxEx 0, "数据传送成功", "自动关闭", vbInformation, 1, 100
While Not lsRS.EOF()
lsRS.Delete
lsRS.MoveNext
Wend
End If
1