设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
楼主: 李啸林
打印 上一主题 下一主题

[模块/函数] 通用查询系统2.0(公开源码)

[复制链接]
21#
发表于 2003-5-21 19:20:00 | 只看该作者
学习~~~~~~
22#
发表于 2003-5-24 08:26:00 | 只看该作者
谁能将以下代码改为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#
发表于 2003-5-24 17:20:00 | 只看该作者
用ADOX
24#
发表于 2003-5-28 18:47:00 | 只看该作者
有点不懂,真不知道怎么会没有记录显示!!
25#
发表于 2003-5-29 07:00:00 | 只看该作者
大家能指点一下吗,我尝试用adox,但总出错,能不能指点一下。尤其是如何引用查询的字段名等问题。

谢谢啦!!
26#
发表于 2003-6-2 18:29:00 | 只看该作者
谢谢!
27#
发表于 2003-6-2 22:57:00 | 只看该作者
刚下载的,点击第一个组合框






????[em03]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
28#
 楼主| 发表于 2003-6-3 02:37:00 | 只看该作者
这个程序是access 2k 中文版本,在97 或 xp 或 access 2k英文版本中使用会都出问题.
29#
发表于 2003-6-6 17:53:00 | 只看该作者
李斑竹我下载了您的通用查询系统,在使用时提示说输入了文本数据不能查询,请问这是什么原因?该如何解决?方便的时候请给我个回答。谢谢您。
30#
 楼主| 发表于 2003-6-7 22:00:00 | 只看该作者
能不能告诉我,你操作的整个过程
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-11-25 08:48 , Processed in 0.128811 second(s), 31 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表