1。SQL
连接SQL数据库,现在数据库没有密码,但是考虑到以后安装到别的机器上会有不同的密码,所以
连接字符串如下
gcnLeaguers.ConnectionString = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;User ID=" & dataname & ";password=" & pwd & ";Initial Catalog=wenshidu;Data Source= " & servername & " "
此时,我的dataname和pwd不论是什么都可以正常连接,但是servername一旦出错就不能连接,难道我以后不管数据用户和密码是什么都能连?2。Excel
重装过系统了。本来可以把数据库数据显示到Excel中去得,现在出错了,提示“加载DLL错误”,是不是我没有打vb的补丁,我在下vb的补丁sp6,不知道安装完能不能解决问题3。Mschart
程序是Access和SQL并存的,事先选择好就行了,用Access可以成功读取数据并显示在Mschart控件上,但是用SQL就只能显示Mschart控件,却没有数据
代码如下
sql = "select whtime as 日期,whtempavg as 平均温度,whhumiavg as 平均湿度 from wenshidu where whname=" & queryname2 & " order by whday,whtime asc"
 Set rsQuery = gcnLeaguers.Execute(sql)
 
 If (gnIsNetOrNot = 1) Then
 frmgraphshow.Adodc1.ConnectionString = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;User ID=" & dataname & ";password=" & pwd & ";Initial Catalog=wenshidu;Data Source= " & servername & " "
 Else
 frmgraphshow.Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & gsCurConnectedMdb & ";Persist Security Info=False"
 End If
 
    frmgraphshow.Adodc1.RecordSource = sql
   frmgraphshow.Adodc1.Refresh
   frmgraphshow.MSChart1.ShowLegend = True
    Set frmgraphshow.MSChart1.DataSource = frmgraphshow.Adodc1

解决方案 »

  1.   

    1、
    If Option1.Value = True Then'密码模式的连接
            tmpConStr = "Provider=SQLOLEDB.1;Password=" & Trim(TxtPassword.Text) & ";Persist Security Info=True;User ID=" & Trim(TxtUserName.Text) & ";Initial Catalog=" & Trim(TxtDB.Text) & ";Data Source=" & Trim(DBServr.Text)
        ElseIf Option2.Value = True Then'无密码模式下的连接
            tmpConStr = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Data Source =" & Trim(DBServr.Text) & ";Initial Catalog=" & Trim(TxtDB.Text)
        End If
      

  2.   

    2、问题不详细,没法处理,不过推荐你查下相关DLL、TLB是否安装并注册和引用;
      

  3.   

    问题2
    模块
    Dim Rs_Data As New ADODB.Recordset
    Dim Irowcount As Integer
    Dim Icolcount As Integer
       
       Dim xlApp As New Excel.Application
       Dim xlBook As Excel.Workbook
       Dim xlSheet As Excel.Worksheet
       Dim xlQuery As Excel.QueryTable
       
    Public Function ExporToExcel(strOpen As String)
    '*********************************************************
    '* 名称:ExporToExcel
    '* 功能:导出数据到EXCEL
    '* 用法:ExporToExcel(sql查询字符串)
    '*********************************************************   With Rs_Data
           If .State = adStateOpen Then
               .Close
           End If
           .ActiveConnection = gcnLeaguers
           .CursorLocation = adUseClient
           .CursorType = adOpenStatic
           .LockType = adLockReadOnly
           .Source = strOpen
           .Open
       End With
       With Rs_Data
           If .RecordCount < 1 Then
               MsgBox ("没有记录!")
               Exit Function
           End If
           '记录总数
           Irowcount = .RecordCount
           '字段总数
           Icolcount = .Fields.Count
       End With
       
       Set xlApp = CreateObject("Excel.Application")   <-----------运行到此处显示加载DLL错误
       Set xlBook = Nothing
       Set xlSheet = Nothing
       Set xlBook = xlApp.Workbooks().Add
       Set xlSheet = xlBook.Worksheets("sheet1")
       xlApp.Visible = True
       
       '添加查询语句,导入EXCEL数据
       Set xlQuery = xlSheet.QueryTables.Add(Rs_Data, xlSheet.Range("a1"))
       
       With xlQuery
           .FieldNames = True
           .RowNumbers = False
           .FillAdjacentFormulas = False
           .PreserveFormatting = True
           .RefreshOnFileOpen = False
           .BackgroundQuery = True
           .RefreshStyle = xlInsertDeleteCells
           .SavePassword = True
           .SaveData = True
           .AdjustColumnWidth = True
           .RefreshPeriod = 0
           .PreserveColumnInfo = True
       End With
       
       xlQuery.FieldNames = True '显示字段名
       xlQuery.Refresh
       
       With xlSheet
           .Range(.Cells(1, 1), .Cells(1, Icolcount)).font.name = "黑体"
           '设标题为黑体字
           .Range(.Cells(1, 1), .Cells(1, Icolcount)).font.Bold = True
           '标题字体加粗
           .Range(.Cells(1, 1), .Cells(Irowcount + 1, Icolcount)).Borders.LineStyle = xlContinuous
           '设表格边框样式
       End With'   If Not (xlSheet.PageSetup) = Nothing Then
    'If Printer.DeviceName <> "" Then
    If Printers.Count <> 0 Then '如果没装打印机
       With xlSheet.PageSetup
    '       .LeftHeader = "" & Chr(10) & "&""楷体_GB2312,常规""&10公司名称:"   ' & Gsmc
           .CenterHeader = "&""楷体_GB2312,常规""温湿度自动检测系统&""宋体,常规""" & Chr(10) & ""
    '       .RightHeader = "" & Chr(10) & "&""楷体_GB2312,常规""&10单位:"
           .LeftFooter = "&""楷体_GB2312,常规""&10制表人:& " & gsCurOperatorName & ""
           .CenterFooter = "&""楷体_GB2312,常规""&10制表日期:&D"
           .RightFooter = "&""楷体_GB2312,常规""&10第&P页 共&N页"
       End With
    End If
       xlApp.Application.Visible = True
       
       
       Set xlApp = Nothing  '"交还控制给Excel
       Set xlBook = Nothing
       Set xlSheet = Nothing
       Set xlQuery = Nothing
       
    End Function
    窗体中
    Private Sub cmdqueryname_Click()
    Dim sqlqueryname As String
    Dim adoqueryname As New ADODB.Recordset
    Dim name1 As String
    queryname2 = cboname.Text
     sqlqueryname = "select id from warning where point='" & queryname2 & "' "
     Set adoqueryname = gcnLeaguers.Execute(sqlqueryname)
     name1 = adoqueryname(0)
    sql = "select whname as 仓库名,whday as 日期,whtime as 时间,whtempavg as 平均温度,whhumiavg as 平均湿度 from wenshidu where whname=" & name1 & " order by whday"
    ExporToExcel (sql)adoqueryname.Close
    Set adoqueryname = Nothing
    End Sub已经引用了Microsoft Excel 9.0 Object Library
      

  4.   

    安装了VB6的sp6,Excel问题依然没有解决阿,怎么办?
      

  5.   

    第一个问题已经解决了
    Access库和SQL在语法上还有什么不同吗
    我只知道一个用#,一个用',其它的就不知道了
      

  6.   

    1、你看看EXCEL的版本是否一致,并检查你引用的EXCEL90库的位置是否正确?
    2、你运行到这一步前看看系统进程里有没有Excel?如果有,肯定是别的地方调用excel出错了。
      

  7.   

    我才要555555555呢,哭都哭不出来了,各位大哥帮帮忙,问题解决了,另开一贴送100分1、你看看EXCEL的版本是否一致,
    ---------------------------------
    系统重装前后Office的版本都是2000阿,引用的EXCEL90库的位置是否正确?
    ------------------------------------
    这个要在哪里看?我就是在工程-〉引用里面选的Microsoft Excel 9.0 Object Library

      

  8.   

    在Set xlApp = CreateObject("Excel.Application")   <-----------运行到此处显示加载DLL错误
    之前系统进程中都没有Excel.exe
      

  9.   

    这样子:把你工程文件,就是.VBP的那个,用记事本打开,把内容贴上来看看
      

  10.   

    Type=Exe
    Reference=*\G{00020430-0000-0000-C000-000000000046}#2.0#0#..\..\..\..\WINNT\system32\stdole2.tlb#OLE Automation
    Reference=*\G{00000300-0000-0010-8000-00AA006D2EA4}#2.7#0#..\..\..\..\Program Files\Common Files\System\ADO\msador15.dll#Microsoft ActiveX Data Objects Recordset 2.7 Library
    Object={06DD38D0-D187-11CF-A80D-00C04FD74AD8}#1.0#0; plugin.ocx
    Object={D9347025-9612-11D1-9D75-00C04FCC8CDC}#1.0#0; MSBCODE9.OCX
    Reference=*\G{CD3386A5-DBB9-11D1-B58F-00C04FB68DF3}#b.0#0#..\..\..\..\Program Files\Common Files\Microsoft Shared\Repostry\MIGV2.DLL#ActiveX DLL to perform Migration of MS Repository V1 to V2
    Reference=*\G{56BF9020-7A2F-11D0-9482-00A0C91110ED}#1.0#0#..\..\..\..\WINNT\system32\MSBIND.DLL#Microsoft Data Binding Collection
    Reference=*\G{3D5C6BF0-69A3-11D0-B393-00A0C9055D8E}#1.0#0#..\..\..\..\Program Files\Common Files\designer\MSDERUN.DLL#Microsoft Data Environment Instance 1.0
    Reference=*\G{00020813-0000-0000-C000-000000000046}#1.3#0#..\..\..\..\Program Files\Microsoft Office\Office\EXCEL9.OLB#Microsoft Excel 9.0 Object Library
    Reference=*\G{00000205-0000-0010-8000-00AA006D2EA4}#2.5#0#..\..\..\..\Program Files\Common Files\System\ADO\msado25.tlb#Microsoft ActiveX Data Objects 2.5 Library
    Reference=*\G{642AC760-AAB4-11D0-8494-00A0C90DC8A9}#1.0#0#..\..\..\..\WINNT\System32\MSDBRPTR.DLL#Microsoft Data Report Designer v6.0
    Reference=*\G{6B263850-900B-11D0-9484-00A0C91110ED}#1.0#0#..\..\..\..\WINNT\system32\MSSTDFMT.DLL#Microsoft Data Formatting Object Library 6.0 (SP4)
    Reference=*\G{420B2830-E718-11CF-893D-00A0C9054228}#1.0#0#..\..\..\..\WINNT\System32\scrrun.dll#Microsoft Scripting Runtime
    Object={831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.0#0; MSCOMCTL.OCX
    Object={67397AA1-7FB1-11D0-B148-00A0C922E820}#6.0#0; MSADODC.OCX
    Object={F9043C88-F6F2-101A-A3C9-08002B2F49FB}#1.2#0; COMDLG32.OCX
    Object={FAEEE763-117E-101B-8933-08002B2F4F5A}#1.1#0; DBLIST32.OCX
    Object={139DD5D1-D6E2-11D0-89D4-00A0C90833E6}#1.0#0; daxctle.ocx
    Object={65E121D4-0C60-11D2-A9FC-0000F8754DA1}#2.0#0; MSCHRT20.OCX
    Object={5E9E78A0-531B-11CF-91F6-C2863C385E30}#1.0#0; MSFLXGRD.OCX
    Object={648A5603-2C6E-101B-82B6-000000000014}#1.1#0; MSCOMM32.OCX
    Object={8E27C92E-1264-101C-8A2F-040224009C02}#7.0#0; MSCAL.OCX
    Object={CDE57A40-8B86-11D0-B3C6-00A0C90AEA82}#1.0#0; MSDATGRD.OCX
    Object={F0D2F211-CCB0-11D0-A316-00AA00688B10}#1.0#0; MSDATLST.OCX
    Object={86CF1D34-0C5F-11D2-A9FC-0000F8754DA1}#2.0#0; MSCOMCT2.OCX
    Object={5C8CED40-8909-11D0-9483-00A0C91110ED}#1.0#0; MSDATREP.OCX
    Form=MDIFrmMain.frm
    Form=frmAbout.frm
    Class=clsPrintDialog; clsPrintDialog.cls
    Module=modStart; Module1.bas
    Form=frmlogin.frm
    Module=MdlPublicVar; MdlPublicVar.bas
    Form=frmadmin.frm
    Form=frmuser.frm
    Form=frmmain.frm
    Form=frmtable.frm
    Form=frmgraph.frm
    Form=frmpaifengxitong.frm
    Form=frmmenxian.frm
    Form=frmmscomm.frm
    Form=frmname.frm
    Form=frmtableshow.frm
    Form=frmgraphshow.frm
    Form=frmtest.frm
    Form=frmPrintElf.frm
    Module=mdlprint; mdlprint.bas
    Form=frmgraphshow2.frm
    Form=frmadminsetup.frm
    IconForm="MDIFrmMain"
    Startup="Sub Main"
    HelpFile="D:\wenshidu\帮助\help.chm"
    Title="温湿度自动检测系统"
    ExeName32="wenshidu.exe"
    Command32=""
    Name="温湿度自动检测软件"
    HelpContextID="0"
    CompatibleMode="0"
    MajorVer=1
    MinorVer=0
    RevisionVer=0
    AutoIncrementVer=0
    ServerSupportFiles=0
    VersionCompanyName="zw"
    CompilationType=0
    OptimizationType=0
    FavorPentiumPro(tm)=0
    CodeViewDebugInfo=0
    NoAliasing=0
    BoundsCheck=0
    OverflowCheck=0
    FlPointCheck=0
    FDIVCheck=0
    UnroundedFP=0
    StartMode=0
    Unattended=0
    Retained=0
    ThreadPerObject=0
    MaxNumberOfThreads=1
    DebugStartupOption=0[MS Transaction Server]
    AutoRefresh=1
      

  11.   

    实时错误'48'
    加载DLL错误
    就显示这么多
      

  12.   

    我现在知道原因了,是我重装系统的问题,同样的程序,在公司机器上就出现这个问题,我刚到家,运行这个程序,没问题了
    公司是win2000,家里是winXP,vb是一样的版本,但是我不记得家里的机器是不是升过级了,你们一般装什么补丁啊?
      

  13.   

    问题自己解决了,还是要谢谢samwzhang(分全给我),分全给你了