12238.html
来自「VB技巧问答10000例,是一个教程」· HTML 代码 · 共 23 行
HTML
23 行
<html>
<head>
<title>Re: Answer "如何在run time 改变DBGRID 的datasource"</title>
</head>
<body bgcolor="#FFFFFF" vlink="#808080">
<center>
<h1>Re: Answer "如何在run time 改变DBGRID 的datasource"</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 + -
显示快捷键?