12238.html

来自「VB技巧问答10000例 VB技巧问答10000例」· HTML 代码 · 共 23 行

HTML
23
字号
<html>
  <head>
    <title>Re: Answer &quot;如何在run time 改变DBGRID 的datasource&quot;</title>
  </head>
  <body bgcolor="#FFFFFF" vlink="#808080">
    <center>
      <h1>Re: Answer &quot;如何在run time 改变DBGRID 的datasource&quot;</h1>
    </center>
<hr size=7 width=75%>

<hr size=7 width=75%><p>
Posted by Spencer Yang on April 21, 1999 at 15:37:19:<p>
In Reply to: <a href="12233.html">如何在run time 改变DBGRID 的datasource</a> posted by Karrie on April 21, 1999 at 12:41:50:<p>
1)先不论你的要求为何,你的做法并非资料库管理方式,假如一年365年计,预计使用寿命为10年,你至少有3650个的table,除非你是ERP专业开发厂商,号称有5000余TABLE(SAP),否则一个TABLE即可。<br>2)假如你认为每日一个TABLE是必须, 如何连结呢,本人所写的范例请参考(本人从邮政总局DOWNLOAD其路名资料库,每月邮递区号为一个TABLE,计400余TABLE)<br>3)本人系使用ADO 配合 DATAGRID, 与DATA搭配DBGRID不同,不过可以参考"RecordSource"部分。<p>Dim blndblPrefClick As Boolean                          ' 是否单击变数<br>    Dim intStatus As Integer                                ' 0: 一般程序; 1: 依邮递区号数值查询<br>    <br>    Dim strPref As String                                   ' 路首字查询参数<br>    Dim strRoad As String<br>    Dim strRoadNo As String                                 ' 道路编号变数<br>    Dim strZIP As String                                    ' 邮递区号变数<br>    <br>    Dim strConnectionString As String                       ' 连接字串变数<br>    Dim strSQL As String                                    ' SQL 字串变数<br>    <br>    '------------------------------------------------<br>    ' A0 将下列从表单模组变数传递给下列变数<br>    '------------------------------------------------<br>    blndblPrefClick = mblndblPrefClick<br>    intStatus = mintStatus<br>    strPref = mstrPref<br>    strZIP = mstrZIP<br>    <br>    '------------------------------------------------<br>    ' 检查路首字栏位是否点选<br>    '------------------------------------------------<br>    If blndblPrefClick = False Then<br>        MsgBox "路首字栏位未选!", vbExclamation + vbOKOnly, "函证系统"<br>        Exit Sub<br>    End If<br>    <br>    '------------------------------------------------<br>    ' D0 资料控制项<br>    '------------------------------------------------<br>    strConnectionString = "Provider=Microsoft.Jet.OLEDB.3.51;Persist Security Info=False;Data Source=D:\Utility\utlStandard.mdb"<br>    <br>    Select Case strZIP<br>        Case 100, 103, 104, 105, 106, 108, 110, 111, 112, 114, 115<br>            strZIP = "100"<br>        Case 200, 201, 202, 203, 204, 205, 206<br>            strZIP = "200"<br>        Case 400, 401, 402, 403, 404, 406, 407, 408<br>            strZIP = "400"<br>        Case 700, 701, 702, 703, 704, 708, 709<br>            strZIP = "700"<br>        Case 800, 801, 802, 803, 804, 805, 806, 807, 811, 812, 813<br>            strZIP = "800"<br>    End Select<br>    <br>    <br>    strRoad = Trim("R" & strZIP & "A")<br>    strRoadNo = txtRoadNo.Text<br>                                   <br>    Select Case intStatus                                   ' 0: 一般程序; 1: 依道路编号数值查询<br>        Case 0<br>            strSQL = "SELECT MID(ROAD,1,1) AS PREF, ROAD, ROAD_NO, RKEY " _<br>                   & "From " & strRoad _<br>                   & " WHERE MID(ROAD,1,1) =" & Chr(39) & strPref & Chr(39) _<br>                   & " ORDER BY ROAD_NO "<br>        Case 1<br>            strSQL = "SELECT MID(ROAD,1,1) AS PREF, ROAD, ROAD_NO, RKEY " _<br>                   & "From " & strRoadNo _<br>                   & " WHERE MID(ROAD,1,1) =" & Chr(39) & strPref & Chr(39)<br>    End Select<br>    With adoRoad<br>            .ConnectionString = strConnectionString<br>            .CommandType = adCmdText<br>            .RecordSource = strSQL<br>            .Refresh<br>    End With<br>    <br>    <br>End Sub
<br>
<br><hr size=7 width=75%><p>
<a name="followups">Follow Ups:</a><br>
<ul><!--insert: 12238-->
</ul><!--end: 12238-->
<br><hr size=7 width=75%><p>

</body></html>

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?