Office中國(guó)論壇/Access中國(guó)論壇

 找回密碼
 注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

返回列表 發(fā)新帖
樓主: 李嘯林
打印 上一主題 下一主題

[模塊/函數(shù)] 通用查詢系統(tǒng)2.0(公開(kāi)源碼)

[復(fù)制鏈接]
21#
發(fā)表于 2003-5-21 19:20:00 | 只看該作者
學(xué)習(xí)~~~~~~
22#
發(fā)表于 2003-5-24 08:26:00 | 只看該作者
誰(shuí)能將以下代碼改為ado的形式呢?不勝感激。。。

Public Function GetTableNames(Optional Attrib As Long = 0) As String
'»ñÈ¡µ±Ç°Êý¾Ý¿âËùÓбíµÄÃû³Æ
'Attrib: dbSystemObject

Dim str As String
Dim i As Integer

For i = 0 To CurrentDb.TableDefs.Count - 1
   If Attrib <> 0 Then
     If (CurrentDb.TableDefs(i).Attributes And Attrib) Then
       str = str & CurrentDb.TableDefs(i).Name & ";"
     End If
   Else
     If (CurrentDb.TableDefs(i).Attributes = Attrib) Then
       str = str & CurrentDb.TableDefs(i).Name & ";"
     End If
   End If
Next i

GetTableNames = str

End Function

Public Function GetQueryNames(Optional QueryDefTyp As Integer = dbQSelect) As String

Dim str As String
Dim i As Integer

For i = 0 To CurrentDb.QueryDefs.Count - 1
  If CurrentDb.QueryDefs(i).Type = QueryDefTyp Then
   str = str & CurrentDb.QueryDefs(i).Name & ";"
  End If
Next i

GetQueryNames = str

End Function

Public Function GetFieldNames(TableQueryName As String, blTable As Boolean) As Words
Dim i As Integer
Dim FieldNames As New Words
Dim MyObject As Object

If blTable Then
Set MyObject = CurrentDb.TableDefs(TableQueryName).Fields    ' &acute;&acute;&frac12;¨&Ograve;&raquo;&cedil;&ouml;&Otilde;&yacute;&Egrave;·&micro;&Auml;&para;&Ocirc;&Iuml;ó&Ograve;&yacute;&Oacute;&Atilde;&iexcl;&pound;
  For i = 0 To MyObject.Count - 1
    FieldNames.Add CurrentDb.TableDefs(TableQueryName).Fields(i).Name, CurrentDb.TableDefs(TableQueryName).Fields(i).Name
  Next i
Else
Set MyObject = CurrentDb.QueryDefs(TableQueryName).Fields    ' &acute;&acute;&frac12;¨&Ograve;&raquo;&cedil;&ouml;&Otilde;&yacute;&Egrave;·&micro;&Auml;&para;&Ocirc;&Iuml;ó&Ograve;&yacute;&Oacute;&Atilde;&iexcl;&pound;

  For i = 0 To MyObject.Count - 1
    FieldNames.Add CurrentDb.QueryDefs(TableQueryName).Fields(i).Name, CurrentDb.QueryDefs(TableQueryName).Fields(i).Name
  Next i
End If

Set GetFieldNames = FieldNames

End Function

Public Sub GetTableName(DataName As String)
Dim dbs As DAO.Database
Dim rs As DAO.Recordset

CurrentDb.Execute "delete from RepTable"

Set dbs = OpenDatabase(DataName)

Set rs = dbs.OpenRecordset("SELECT [msysobjects].[Name], [Type]=1 AS IsTable " _
                        & "FROM msysobjects " _
                        & "WHERE ((([msysobjects].[Type])=5 Or ([msysobjects].[Type])=1) " _
                        & "And ((Left([name],4))<>'MSys') And ((Left([name],1))<>'~')) " _
                        & "ORDER BY [msysobjects].[Type], [msysobjects].[Name]; ")

Do Until rs.EOF
  CurrentDb.Execute "insert into RepTable ([Name],[Table]) values ('" & rs.Fields(0) & "'," & BoolToStr(rs.Fields(1)) & ")"
  rs.MoveNext
Loop

End Sub

Private Function BoolToStr(bl As Boolean) As String

If bl Then
  BoolToStr = "yes"
Else
  BoolToStr = "no"
End If

End Function

Public Sub cc()

DoCmd.TransferDatabase acExport, "Microsoft Access", "d:\accxp\±¨±í×&Ocirc;&para;&macr;&Eacute;ú&sup3;&Eacute;\Northwind.mdb", acReport, "±¨±í1111", "Rep2k"

End Sub
23#
發(fā)表于 2003-5-24 17:20:00 | 只看該作者
用ADOX
24#
發(fā)表于 2003-5-28 18:47:00 | 只看該作者
有點(diǎn)不懂,真不知道怎么會(huì)沒(méi)有記錄顯示!
25#
發(fā)表于 2003-5-29 07:00:00 | 只看該作者
大家能指點(diǎn)一下嗎,我嘗試用adox,但總出錯(cuò),能不能指點(diǎn)一下。尤其是如何引用查詢的字段名等問(wèn)題。

謝謝啦。
26#
發(fā)表于 2003-6-2 18:29:00 | 只看該作者
謝謝!
27#
發(fā)表于 2003-6-2 22:57:00 | 只看該作者
剛下載的,點(diǎn)擊第一個(gè)組合框






????[em03]

本帖子中包含更多資源

您需要 登錄 才可以下載或查看,沒(méi)有帳號(hào)?注冊(cè)

x
28#
 樓主| 發(fā)表于 2003-6-3 02:37:00 | 只看該作者
這個(gè)程序是access 2k 中文版本,在97 或 xp 或 access 2k英文版本中使用會(huì)都出問(wèn)題.
29#
發(fā)表于 2003-6-6 17:53:00 | 只看該作者
李斑竹我下載了您的通用查詢系統(tǒng),在使用時(shí)提示說(shuō)輸入了文本數(shù)據(jù)不能查詢,請(qǐng)問(wèn)這是什么原因?該如何解決?方便的時(shí)候請(qǐng)給我個(gè)回答。謝謝您。
30#
 樓主| 發(fā)表于 2003-6-7 22:00:00 | 只看該作者
能不能告訴我,你操作的整個(gè)過(guò)程
您需要登錄后才可以回帖 登錄 | 注冊(cè)

本版積分規(guī)則

QQ|站長(zhǎng)郵箱|小黑屋|手機(jī)版|Office中國(guó)/Access中國(guó) ( 粵ICP備10043721號(hào)-1 )  

GMT+8, 2024-10-23 10:27 , Processed in 0.120691 second(s), 31 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回復(fù) 返回頂部 返回列表