Office中国论坛/Access中国论坛

标题: 通用查询系统2.0(公开源码) [打印本页]

作者: 李啸林    时间: 2003-5-2 22:09
标题: 通用查询系统2.0(公开源码)
效果图一:
[attach]307[/attach]
效果图二:
[attach]308[/attach]
效果图三:
[attach]309[/attach]

下载(ACCESS 2000版本,含演示数据):



[此贴子已经被作者于2003-5-2 14:19:55编辑过]

作者: 逸致1    时间: 2003-5-3 00:59
[quote]以下是引用李啸林在2003-5-2 14:08:41的发言:
效果图一:

  
你好,我在点击上图的组合框下拉箭头时(即<产品>所在组合框),系统弹出:
  Function is not available in expressions in query expression ' ((([msysobjects].
[type])=5 Or ([msysobjects].[type]=1) And ((Left[name],4))<>"MSys") And ((Left
([name],1))<>"~"))'.
点击确定后,该组合框中无任何内容.
以上问题不知如何解决,请指教.谢谢.


作者: wenjianyu    时间: 2003-5-3 01:01
谢谢,李大哥。我得好好学ACCESS.

作者: ganrong    时间: 2003-5-3 04:20
提示: 作者被禁止或删除 内容自动屏蔽
作者: 悟空之龙簇    时间: 2003-5-3 05:18
谢过李大哥

作者: 李啸林    时间: 2003-5-3 18:12
以下是引用逸致1在2003-5-2 16:59:06的发言:
[quote]以下是引用李啸林在2003-5-2 14:08:41的发言:
  
你好,我在点击上图的组合框下拉箭头时(即<产品>所在组合框),系统弹出:
   Function is not available in expressions in query expression &#39; ((([msysobjects].
[type])=5 Or ([msysobjects].[type]=1) And ((Left[name],4))<>&quot;MSys&quot;) And ((Left
([name],1))<>&quot;~&quot;))&#39;.
点击确定后,该组合框中无任何内容.
以上问题不知如何解决,请指教.谢谢.



我这里无法重现你说的现象,你可以进入设计状态,检查"产品"组合框的数据源属性.
作者: 李啸林    时间: 2003-5-4 19:21
高!
作者: king588    时间: 2003-5-4 22:11
j wftcka ,,sk c et kxcg ?
作者: king588    时间: 2003-5-4 22:11
Function is not available in expressions in query expression ' ((([msysobjects].
[type])=5 Or ([msysobjects].[type]=1) And ((Left[name],4))<>"MSys") And ((Left
([name],1))<>"~"))'
作者: 李啸林    时间: 2003-5-4 22:44
以下是引用king588在2003-5-4 14:11:07的发言:
Function is not available in expressions in query expression &#39; ((([msysobjects].
  [type])=5 Or ([msysobjects].[type]=1) And ((Left[name],4))<>&quot;MSys&quot;) And ((Left
  ([name],1))<>&quot;~&quot;))&#39;


请问你用的是ACCESS 2000简体中文版吗?


作者: sossos    时间: 2003-5-6 17:15
高,实在是高!
作者: wslwsl123    时间: 2003-5-9 21:18
我用的是ACCESS 2000中文版,查询产品表时出现“类型不匹配”提示框,能告诉我原因吗,谢谢!!!
作者: 李啸林    时间: 2003-5-9 22:53
这个程序在显示OLE字段的时候,确实有这个问题.暂时没有解决办法.
作者: QZABC    时间: 2003-5-13 22:40
值得参考,谢谢!
作者: Trynew    时间: 2003-5-14 19:36
包含了通用查询和报表向导两大功能,
应该还能扩充完善!
加为精华贴子!

[此贴子已经被作者于2003-5-14 11:38:48编辑过]


作者: 一品    时间: 2003-5-14 23:26
我在使用时也遇到了同样的问题~~~
作者: yxgyhebo    时间: 2003-5-18 06:18
请问你这个源程序在哪能DOWN呢?THANK Y。
作者: 李啸林    时间: 2003-5-18 16:27
第一楼
作者: lisashar    时间: 2003-5-19 07:24
我将通用查询运用在adp+sql中时,出现如下错误,
运行时错误"91"
对象变量或with块变量未设置
光标停留在
If blTable Then
  For i = 0 To CurrentDb.TableDefs(TableQueryName).Fields.Count - 1
请解释一下好吗?
另如果我将通用查询引用到新的系统中,如何添加新系统的表或查询.
谢谢!

作者: 李啸林    时间: 2003-5-19 15:04
抱歉,我从来没有用过adp,所以无法回答你的问题.
作者: starer    时间: 2003-5-21 19:20
学习~~~~~~
作者: lisashar    时间: 2003-5-24 08:26
谁能将以下代码改为ado的形式呢?不胜感激。。。

Public Function GetTableNames(Optional Attrib As Long = 0) As String
'&raquo;&ntilde;&Egrave;&iexcl;&micro;±&Ccedil;°&Ecirc;&yacute;&frac34;&Yacute;&iquest;&acirc;&Euml;ù&Oacute;&ETH;±í&micro;&Auml;&Atilde;&ucirc;&sup3;&AElig;
'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

作者: gnoy    时间: 2003-5-24 17:20
用ADOX
作者: hejiawei2001    时间: 2003-5-28 18:47
有点不懂,真不知道怎么会没有记录显示!!
作者: lisashar    时间: 2003-5-29 07:00
大家能指点一下吗,我尝试用adox,但总出错,能不能指点一下。尤其是如何引用查询的字段名等问题。

谢谢啦!!
作者: lijingmhm    时间: 2003-6-2 18:29
谢谢!
作者: 佳佳    时间: 2003-6-2 22:57
刚下载的,点击第一个组合框


[attach]643[/attach]



????[em03]
作者: 李啸林    时间: 2003-6-3 02:37
这个程序是access 2k 中文版本,在97 或 xp 或 access 2k英文版本中使用会都出问题.
作者: 自由弧    时间: 2003-6-6 17:53
李斑竹我下载了您的通用查询系统,在使用时提示说输入了文本数据不能查询,请问这是什么原因?该如何解决?方便的时候请给我个回答。谢谢您。
作者: 李啸林    时间: 2003-6-7 22:00
能不能告诉我,你操作的整个过程
作者: 自由弧    时间: 2003-6-9 08:51
李版主:
问题我已解决。是我操作有问题。谢谢您回帖。但现在我发现了新问题,您的查询太强大了,连我的密码表都出现在要查询的表里面,而且是明码,输入掩码设称密码、隐藏表都不管用,您有没有并办法解决一下呢?再有一大堆乱乱的表也不好看,用什么办法只显示有用的几个表呢?我试着改了几句代码没成功,也不敢改了。
作者: 李啸林    时间: 2003-6-9 15:12
给txtTQName的数据源设置限制条件即可。一般来说,口令字段应该加密存贮。
作者: 自由弧    时间: 2003-6-10 02:01
谢谢版主!
作者: xdh666    时间: 2003-6-10 23:30
我怎么找不到可下的文件?

作者: xdh666    时间: 2003-6-10 23:34
对不起,找到了
看了后,很好,谢谢
作者: 自由弧    时间: 2003-6-13 18:53
李斑竹:你的程序里是不是有特别的设置,为什么我加载在我得数据库中用了几次就不能用了?
想看看代码、设计什么的一点反映都没有,太着急了。
什么原因啊?
不明白,不明白!
作者: jackyjtf    时间: 2003-6-17 08:12
很好,谢谢
作者: 李啸林    时间: 2003-6-17 15:33
以下是引用自由弧在2003-6-13 10:52:57的发言:
李斑竹:你的程序里是不是有特别的设置,为什么我加载在我得数据库中用了几次就不能用了?
想看看代码、设计什么的一点反映都没有,太着急了。
什么原因啊?
不明白,不明白!


没有特别设置.你用另存为试试看.
作者: xxiazero    时间: 2003-6-17 22:01
李斑竹:给txtTQName的数据源设置限制条件怎么设置呀?口令字段应该加密存贮,怎么加密存储呀?
作者: 李啸林    时间: 2003-6-18 15:11
即设置txtTQName的ControlSource 属性

ControlSource 属性:
使用 ControlSource 属性可以指定控件中显示的是什么数据,可以对结合到表中的字段、查询或者 SQL 语句的数据进行显示和编辑,也可以显示表达式的结果。对于报表组级别,ControlSource 属性将决定它是成组的字段或者表达式。

注释   ControlSource 属性不适用于选项组中的复选框、选项按钮或者切换按钮控件。该属性仅适用于选项组本身。
对于报表, ControlSource 属性仅适用于报表组级别。

设置

ControlSource 属性可以使用下列设置:

设置        说明
A field name        这一控件结合到表中的字段、查询或者 SQL 语句。字段中的数据在控件中显示。修改控件中的数据将会影响相应字段中的数据。(如果要使控件只读,可以将控件的 Locked 属性设为 Yes )。如果单击结合到带有 HyperLink 数据类型的字段的控件,将跳转到超级链接地址所指定的目标。
An expression        控件显示的是该表达式计算结果的数据。该数据可以由用户修改,但不保存到数据库。
使用控件的属性表、宏或者 Visual Basic 可以对控件的 ControlSource 属性进行设置。
直接在窗体“设计”视图或者报表“设计”视图中为文本框输入字段名称或者表达式,同样也可以对文本框的 ControlSource
属性进行设置。
对于报表,选择一个字段或者在“排序和分组”框的“字段/表达式”列中输入表达式,可以对该属性进行设置。详细内容,请参阅 GroupLevel 属性。

在 Visual Basic 中,使用字符串表达式可以对该属性进行设置。

说明

数据库中的窗体和报表是以“窗口”形式存在的。将窗体或者报表的 RecordSource 属性设为表、查询或者 SQL 语句可以指定窗体或报表的主要数据源。可以将 ControlSource 属性设为数据源中的字段或者表达式。如果 ControlSource 属性设置值是一个表达式,则显示的值是只读的,并且不保存到数据库中。例如,可以使用下列设置:

设置示范        说明
LastName        对于控件,其显示的数据就是“姓氏”字段的数据。对于报表组级别, Microsoft Access 则按姓氏对数据进行分组。
=Date( ) + 7        对于控件,该表达式在控件中显示的是从当天起七天之后的日期。
=DatePart("q",ShippedDate)        对于控件,该表达式显示的是“发货日期”的季度。对于报表组级别, Microsoft Access 则按“发货日期”的季度对数据进行分组。

窗体或报表上的文本框显示的是源于表、查询或 SQL 语句中的数据。因为它结合到字段中的数据,所以此类型的文本框被称为结合型文本框。文本框也可以是非结合型的。例如,可以创建非结合文本框来显示计算的结果,或者接受用户的输入。在非结合文本框中的数据不会保存到活动的数据库中。
作者: jinanren    时间: 2003-6-19 02:28
先拜读一下再说!
作者: xxiazero    时间: 2003-6-23 05:30
前面的问题我已经搞定了,十二分的感谢李斑竹!!还有问题请教:怎样可以把表设置的让使用查询的人没法改里面的数据?或者说是只让访问的人看有限的几个窗体,别的表和查询什么的他们都没有权利去看?谢谢!
作者: 李啸林    时间: 2003-6-23 15:00
用权限设置.
作者: ljc    时间: 2003-6-24 23:52
好,不错
向各位高手学习
作者: shenzhen_liu    时间: 2003-7-4 03:45
谢谢 大礼

作者: dgx1995    时间: 2003-7-4 18:14
好久没来了
作者: yahai    时间: 2003-7-19 03:33
好!!
作者: sh-fcf    时间: 2003-7-23 20:35
hao
作者: zeeman    时间: 2003-7-25 06:17
3X
作者: lhbsd    时间: 2003-7-25 15:52
Thankx
作者: ka32    时间: 2003-7-25 17:29
请问为何在察看源代码时出现乱码?
谢谢[attach]1254[/attach]
作者: amzm    时间: 2003-7-26 17:22
谢谢
初学多谢的心血
作者: rongyun    时间: 2003-7-26 17:42
高,实在是不可思议!
作者: gmcczh    时间: 2003-8-22 21:17
太棒了!看书根本无发学到!我刚学会了查询还可以限定记录的条数!谢谢!
作者: 燃烧    时间: 2003-8-24 19:27
这我很久以前好像看过了.

作者: zhongboy    时间: 2003-8-29 22:24
标题: thanks
thanks a lot
作者: hahajing    时间: 2003-9-9 05:02
语法错误(操作符丢失)在查询表达式‘[报销表ID]<10[][][]'
作者: 李啸林    时间: 2003-9-9 15:37
以下是引用hahajing在2003-9-8 21:02:07的发言:
语法错误(操作符丢失)在查询表达式‘[报销表ID]<10[][][]&#39;


关闭,重新运行,也如此吗?
作者: shfcf    时间: 2003-9-24 04:54


作者: ietey    时间: 2003-9-25 18:23
非常的好,可是我也想知道有ado该如何做呢。谢谢
作者: hw4618    时间: 2003-9-28 22:14
谢谢!
作者: Rainman1124    时间: 2003-10-1 18:25
access2000中文版下,无法使用。出现6楼的提示!急盼解决!
作者: linda0418    时间: 2003-10-18 08:58
首先感谢李版主的慷慨!
我在好久之前就下载了李大师的这个通用查询系统,并"组装"到我的系统之中.
说实在的,这个查询确实很实用,因为它可以进行各种形式的查询!
但这个查询系统有如下几个问题:
其一,这个系统中的对象(即窗体及查询等)有不能导出的问题.
其二,这个数据库有不能折分的问题.(不能生成前后端)
其三,这个系统不能在WIN-XP下使用,不能执行[选择数据源].
     既楼上三位大哥(逸致1和king588以及佳佳)说的问题.
其四,每次查询后没有一个汇总结果.
要是能解决以上的问题就好了.
谢谢!


[此贴子已经被作者于2003-10-18 1:00:39编辑过]


作者: 李啸林    时间: 2003-10-20 16:11
以下是引用linda0418在2003-10-18 0:58:13的发言:
首先感谢李版主的慷慨!
我在好久之前就下载了李大师的这个通用查询系统,并&quot;组装&quot;到我的系统之中.
说实在的,这个查询确实很实用,因为它可以进行各种形式的查询!
但这个查询系统有如下几个问题:
其一,这个系统中的对象(即窗体及查询等)有不能导出的问题.
其二,这个数据库有不能折分的问题.(不能生成前后端)
其三,这个系统不能在WIN-XP下使用,不能执行[选择数据源].
      既楼上三位大哥(逸致1和king588以及佳佳)说的问题.
其四,每次查询后没有一个汇总结果.
要是能解决以上的问题就好了.
谢谢!


[此贴子已经被作者于2003-10-18 1:00:39编辑过]


非常感谢你的仔细,给我找出这么多的问题。本来只是想写一个很简单的查询模块,只是应一些学友的要求,才有了2.0。没有想到会有如此多的人觉得好,当初我只是觉得好玩,自己写的程序中并没有用上。不过,既然你们都这么喜欢这个程序,如果我不解决这些问题就有些说不过去了,我想在这一两个星期中解决你所说的这几个问题。XP的问题我没有法,因为我的操作系统是WIN2K。另外有人问,为什么不提供多表查询。不支持多表查询是因为这个查询系统是供最终用户使用的,对于最终用户来说多表查询过于复杂难以掌握。
作者: bili    时间: 2003-10-22 19:05
支持!
作者: 李啸林    时间: 2003-10-23 05:14
标题: 《通用查询 3.0》测试版本
增加内容:
   1、自动安装
   2、汇总
   3、自动生成电子表格
   4、修正2.0的一些错误。

由于我的 Access 2k好象有点问题,我希望大家帮我测试一下。

《通用查询 3.0》测试版本
[attach]2128[/attach]
作者: 72440    时间: 2003-11-18 18:00
非常好!!!!谢谢
作者: 我同意    时间: 2003-11-19 22:14
版主您好,
打开该文件是否按提示装入某已存在的MDB文件中即可?
我是XP,试过好象不能用,但我希望只是XP的不兼容问题。我想我还是要移植到其他平台下用的。
作者: llyyhh    时间: 2003-11-21 15:48
已下载,将好好学习。
作者: ^_^    时间: 2003-12-26 03:14
谢谢!我不会case语言,但是我需要合并几个更新查询。但愿这个软件有用。感谢!
作者: loneeyes    时间: 2004-1-31 06:48

作者: mzy    时间: 2004-2-3 04:43
gao
作者: asp    时间: 2004-7-19 23:18
谢谢!做的太棒了!
作者: hawkwolf    时间: 2004-7-23 18:30
以下是引用asp在2004-7-19 15:17:52的发言:



谢谢!做的太棒了!




作者: lyqjqly    时间: 2004-8-20 15:41
学习中啊!
作者: boyhan    时间: 2004-9-1 18:54
谢!
作者: wlxzl    时间: 2004-9-22 02:39
谢谢
作者: yelang771    时间: 2004-10-7 17:08
....good
作者: kittenfour    时间: 2004-10-10 18:15
谢谢分享
作者: linlianzhi    时间: 2004-10-11 18:29
好!
作者: likread    时间: 2004-10-24 20:57
多谢
作者: lst21    时间: 2004-11-7 06:26
xiexie  feichanghao
作者: SIMONLUCY123    时间: 2004-12-5 06:13
标题: [分享]
很好.谢谢.
作者: goto2008    时间: 2004-12-7 00:48
高!!!!
作者: xinrenq    时间: 2004-12-11 04:30
不错。。。
作者: KAKAJP    时间: 2005-3-12 02:39

作者: szllw    时间: 2005-3-28 19:07
谢谢啦~~~~
作者: chkboy    时间: 2005-3-30 23:02
谢谢楼主分享!
作者: minoa    时间: 2005-4-22 05:58
值得学习研究阿
作者: nxjswt    时间: 2005-7-3 23:05
不错[em04][em04]
作者: ok003    时间: 2005-7-28 19:18
太强大了!
作者: kyoliau    时间: 2005-9-26 22:14
谢谢
作者: jenny.yang    时间: 2005-10-8 03:07
HAO
作者: qsonlei    时间: 2005-10-8 23:10
标题:
So good.[em02]
作者: keenfox    时间: 2005-10-10 15:55
thaks
作者: keenfox    时间: 2005-10-10 15:55
谢谢
作者: keenfox    时间: 2005-10-10 15:55
下了
作者: y_chunlei    时间: 2005-10-10 17:13
好!!!!!!!!!!!!!!!!!而
作者: y_chunlei    时间: 2005-10-10 17:23
好呀,顶顶~~~~~~~~~~
作者: cheng5489    时间: 2005-12-1 17:20
谢谢楼主




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3