zoukankan      html  css  js  c++  java
  • VBA学习笔记


    Dim
    Str, Val, n, Codes Dim eyear As String Dim etype As String Dim ecode As String Dim line As Integer
     1 Function SearchEvents(ByVal year As String, ByVal etype As String, ByVal code As String)
     2     Dim lastRows As Integer
     3      strSQL = "exec PROC_Evaluation_EvalProgress_Select_Backup " & year & "," & etype & "," & code
     4      'strSQL = "exec PROC_Evaluation_index_EvaluatorStatus "
     5        
     6     
     7   
     8         Call rsOpen
     9             If rs.RecordCount <> 0 Then
    10                i = line
    11                line = line + rs.RecordCount
    12                 Sheet2.Cells(4 + i, 1).CopyFromRecordset rs
    13                 
    14             Else
    15                 MsgBox Q004
    16             End If
    17         Call rsClose
    18    
    19 End Function
    
    
    1 Function TypeChange1(ByVal Source As String, ByVal TargetType As String, ByVal Target As String) As String
    2     If Source = TargetType Then
    3         Source = Target
    4     End If
    5     TypeChange1 = Source
    6 End Function
     1 Option Explicit
     2 
     3 '''''廋惓梡 Server
     4 'Public Const strIP        As String = "172.20.3.135"
     5 'Public Const strUser      As String = "develop"
     6 'Public Const strPasswd    As String = "develop"
     7 'Public Const strDB        As String = "KOUBAI"
     8 
     9 '''''嫵堢梡 Server
    10 Public Const strIP      As String = "10.100.1.220"
    11 Public Const strUser      As String = "sa"
    12 Public Const strPasswd    As String = ""
    13 Public Const strDB        As String = "dbEvaluation"
    14 
    15 '''''杮斣梡 Server
    16 'Public Const strIP        As String = "172.20.5.68"
    17 'Public Const strUser      As String = "sa"
    18 'Public Const strPasswd    As String = "bpo"
    19 'Public Const strDB        As String = "dbKoubai"
    20 
    21 
    22 Public strSQL       As String
    23 Public cn           As New ADODB.Connection
    24 Public rs           As New ADODB.Recordset
    25 
    26 Public Sub cnOpen()
    27 On Error GoTo err
    28    If cn Is Nothing Then
    29     Set cn = New ADODB.Connection
    30    End If
    31     If cn.State = 0 Then
    32         With cn
    33             .Provider = "SQLOLEDB.1"
    34             .ConnectionString = "Persist Security Info=True;" & _
    35                                 "Data Source=" & strIP & ";" & _
    36                                 "Initial Catalog=" & strDB & ";" & _
    37                                 "User ID=" & strUser & ";" & _
    38                                 "Password=" & strPasswd
    39             .ConnectionTimeout = 800
    40             .CommandTimeout = 800
    41             .CursorLocation = adUseClient
    42             .Open
    43          End With
    44     End If
    45     Exit Sub
    46 err:
    47     MsgBox "DB偲僐僱僋僩偱偒傑偣傫偱偟偨丅"
    48     End
    49 End Sub
    50 
    51 Public Sub cnClose()
    52    If Not cn Is Nothing Then
    53       If cn.State <> 0 Then cn.Close
    54       Set cn = Nothing
    55    End If
    56 End Sub
    57 
    58 Public Sub rsOpen()
    59    If rs Is Nothing Then
    60       Set rs = New ADODB.Recordset
    61    End If
    62    If rs.State = 0 Then
    63     If cn.State = adStateClosed Then cnOpen
    64    
    65     If cn.State = adStateOpen Then rs.Open strSQL, cn
    66    End If
    67    
    68 End Sub
    69 
    70 Public Sub rsClose()
    71    If Not rs Is Nothing Then
    72       If rs.State <> 0 Then rs.Close
    73       Set rs = Nothing
    74    End If
    75 End Sub
    另外,在调用存储过程的时候,会遇到问题,数据库抽出数据时存放在ADODB.Recordset中的,每次抽出数据都会存放在rs中,但是,如果存储过程中含有临时表,那么,每执行一次临时表,ADODB.Recordset会自动关闭,因此外部使用ADODB.Recordset中的数据时便会报错,无法打开ADODB.Recordset,对于这种问题的解决方案是:将将存储过程中的临时表统统替换为sql语句,这样就不存在临时表,ADODB.Recordset也就会正常开关。
    
    
  • 相关阅读:
    NHibernate从入门到精通系列(3)——第一个NHibernate应用程序
    你真的了解Ioc与AOP吗?(1)
    C#网络编程TCP通信的粘包问题讨论
    开源框架完美组合之Spring.NET + NHibernate + ASP.NET MVC + jQuery + easyUI 中英文双语言小型企业网站Demo
    NHibernate从入门到精通系列(1)——NHibernate概括
    Spring.NET框架简介及模块说明
    C#|.NET从控制反转(依赖注入)想到事件注入 (非AOP)
    MVC3使用Unity实现接口自动注册
    编写更好的C#代码
    解构控制反转(IoC)和依赖注入(DI)
  • 原文地址:https://www.cnblogs.com/littleCode/p/3417721.html
Copyright © 2011-2022 走看看