VB中查询多个(最多可能有几百个)表

时间:2021-07-12 19:12:43
VB中查询多个(最多可能有几百个)表并用adodc和datagrid两控件显示,A表的第N行(例如第11行)显示在datagrid的第一行,B表的第N行(例如第11行)显示在datagrid的第二行,表的第N行(例如第11行)显示在datagrid的第三行,D表的第N行(例如第11行)显示在datagrid的第四行,依此类推,如何实现?敬请帮忙。

7 个解决方案

#1


你的什么数据库?

#2


access

#3



如果你一次查询需要很多表,那说明你的数据库结构设计有问题。

#4


    For i = LBound(tablename) To UBound(tablename)
        S = S & "Union All SELECT * From " & tablename(i) & " Where ID =511 "
    Next
    
    S = Right(S, Len(S) - 9)
    Adodc.RecordSource = s
    Adodc.Refresh

#5


楼上多输了个5
For i = LBound(tablename) To UBound(tablename)
  S = S & "Union All SELECT * From " & tablename(i) & " Where ID =11 "
  Next
    
  S = Right(S, Len(S) - 9)
  Adodc.RecordSource = s
  Adodc.Refresh

#6


不好意思,我水平很菜。不太清楚S = Right(S, Len(S) - 9)
的意思,再者,S是数组还是对象?

#7


四楼说数据结构设计有问题,我的数据库是每个数据表代表一个相同时间段内的一种股票的行情数据,共有几百个数据表,而且它们的时间段是相同的。我有两种需求:一是从某一表中得出该股票部份行情数据显示其K线图,
二是从每一个数据表的某一行得到数据,从而显示几百个股票某一天的行情(用datagrid控件显示)。
上面两种情况要求一天一天的向下更新,希望高手们帮忙设计一下,非常感谢!

#1


你的什么数据库?

#2


access

#3



如果你一次查询需要很多表,那说明你的数据库结构设计有问题。

#4


    For i = LBound(tablename) To UBound(tablename)
        S = S & "Union All SELECT * From " & tablename(i) & " Where ID =511 "
    Next
    
    S = Right(S, Len(S) - 9)
    Adodc.RecordSource = s
    Adodc.Refresh

#5


楼上多输了个5
For i = LBound(tablename) To UBound(tablename)
  S = S & "Union All SELECT * From " & tablename(i) & " Where ID =11 "
  Next
    
  S = Right(S, Len(S) - 9)
  Adodc.RecordSource = s
  Adodc.Refresh

#6


不好意思,我水平很菜。不太清楚S = Right(S, Len(S) - 9)
的意思,再者,S是数组还是对象?

#7


四楼说数据结构设计有问题,我的数据库是每个数据表代表一个相同时间段内的一种股票的行情数据,共有几百个数据表,而且它们的时间段是相同的。我有两种需求:一是从某一表中得出该股票部份行情数据显示其K线图,
二是从每一个数据表的某一行得到数据,从而显示几百个股票某一天的行情(用datagrid控件显示)。
上面两种情况要求一天一天的向下更新,希望高手们帮忙设计一下,非常感谢!