设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

[其它] [求助]有没有能提取表中一列的字符罗列在一个文本框中的函数?

[复制链接]
11#
发表于 2006-5-14 00:17:00 | 只看该作者
以下是引用wang1950317在2006-5-13 15:59:00的发言:


hi-wzj版主您好,是这样子吗,没有响应啊。我的嫁接错在哪里?

Function allname(tblName As String)
    Dim d As Recordset
    Set d = CurrentDb.OpenRecordset(tblName)
    d.MoveFirst

Do While Not d.EOF

If InStr(allname, d(1)) > 0 Then GoTo ww:
        allname = allname & "," & d(1)
        d.MoveNext

ww:
    Loop
End Function

只需要姓名这一列吗?如果是的话就改这里 set d = currentdb.openrecordset("select distinct 姓名from tblname")然后其他代码按原来的就好

[此贴子已经被作者于2006-5-13 16:18:13编辑过]

12#
发表于 2006-5-14 00:19:00 | 只看该作者
為什么不用   

recordset.GetString

点击这里给我发消息

13#
 楼主| 发表于 2006-5-14 00:43:00 | 只看该作者
改动 set d = currentdb.openrecordset("select distinct 姓名from tblname")提示运行错误“语法错误,(操作符丢失)在查询表达式:姓名。。。。。”

recordset.GetString如何用,请朋友指点,谢谢!
14#
发表于 2006-5-14 01:04:00 | 只看该作者
以下是引用wang1950317在2006-5-13 16:43:00的发言:


改动 set d = currentdb.openrecordset("select distinct 姓名from tblname")提示运行错误“语法错误,(操作符丢失)在查询表达式:姓名。。。。。”

recordset.GetString如何用,请朋友指点,谢谢!



GetString 方法

将 [url=mkMSITStore:C:\Program%20Files\Common%20Files\Microsoft%20Shared\OFFICE11\2052\ado210.chm::/htm/mdobjodbrec.htm]Recordset[/url] 作为字符串返回。

语法Variant = recordset.GetString(<a href="" target="_blank" >StringFormat, <a href="" target="_blank" >NumRows, <a href="" target="_blank" >ColumnDelimiter, <a href="" target="_blank" >RowDelimiter, <a href="" target="_blank" >NullExpr)

返回值

Recordset 作为值为字符串的 Variant (BSTR) 返回。

参数

<DL>

<DT>StringFormat

<DD>[url=mkMSITStore:C:\Program%20Files\Common%20Files\Microsoft%20Shared\OFFICE11\2052\ado210.chm::/htm/mdcststringformatenum.htm]StringFormatEnum[/url] 值,指定将 Recordset 转换成字符串的方式。RowDelimiterClumnDelimiterNullExpr 参数只可同 adClipStringStringFormat 一起使用。

<DT>NumRows

<DD>可选。Recordset 中要转换的行数。如果未指定 NumRows,或者其值大于 Recordset 中的总行数,那么将转换 Recordset 中的所有行。

<DT>ColumnDelimiter

<DD>可选。如果指定了分隔符,在列之间使用该分隔符,否则使用 TAB 字符。

<DT>RowDelimiter

<DD>可选。如果指定了分隔符,在行之间使用该分隔符,否则使用 CARRIAGE RETURN 字符。

<DT>NullExpr

<DD>可选。如果指定了表达式,在 NULL 值处使用该表达式,否则使用空字符串。 </DD></DL>

说明

行数据(但没有模式数据)被保存在字符串中。因此不能使用此字符串重新打开 Recordset

此方法等价于 RDO GetClipString 方法。

请参阅

[url=mkMSITStore:C:\Program%20Files\Common%20Files\Microsoft%20Shared\OFFICE11\2052\ado210.chm::/htm/mdmthgetstringx.htm]Visual Basic 范例[/url]

适用于:Recordset 对象
15#
发表于 2006-5-14 01:04:00 | 只看该作者
姓名from

中間少了空格.

recordset.GetString    的祥細說明, 可在看  ADO 的幫助.

点击这里给我发消息

16#
 楼主| 发表于 2006-5-14 03:38:00 | 只看该作者


这段代码快接近了请各位老师继续帮忙。(按楼上朋友意见加上空格也不行。LucasLynn老师与fuyvn老师指点的GetString方法小的还没有一点认识,正在学习,请继续指教,多谢!)

Function allname(tblName As String)
    Dim d As Recordset
    Set d = CurrentDb.OpenRecordset(tblName)
    d.MoveFirst

Do While Not d.EOF

If InStr(allname, d(1)) > 0 Then GoTo ww:
        allname = allname & "," & d(1)
        d.MoveNext


ww:
    Loop
End Function



[此贴子已经被作者于2006-5-13 19:45:02编辑过]

本帖子中包含更多资源

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

x
17#
发表于 2006-5-15 00:00:00 | 只看该作者
先用查询,查询唯一值,再通过循环取出.

点击这里给我发消息

18#
 楼主| 发表于 2006-5-15 00:49:00 | 只看该作者

继续

谢谢fan0217老师,但是如果截取对象是一个动态的查询表,该怎样办,提示错误呀?请费神浏览一下上传的文件,看看模块中需要怎样的改动才行。谢谢!

本帖子中包含更多资源

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

x

点击这里给我发消息

19#
 楼主| 发表于 2006-5-16 05:33:00 | 只看该作者
顶一下!请各位专家老师再指点,截取动态查询表为什么出错?

20#
发表于 2006-5-16 14:52:00 | 只看该作者
以下是引用wang1950317在2006-5-15 21:33:00的发言:


顶一下!请各位专家老师再指点,截取动态查询表为什么出错?

因为你在查询1中的准则引用了窗体上的变量,在窗体没有成为当前窗体以前,这个变量无法传递到查询的准则中,所以记录集无法打开.
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-1-10 14:55 , Processed in 0.109270 second(s), 32 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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