在where子句中使用字符串时,字符串中是否有特定数量的字符?
SQL2 = "SELECT DISTINCT " & a & " AS MyString," & b & " FROM tempExtractedtbl"
Set rsGenerate = CurrentDb().OpenRecordset(SQL2)
Do While Not rsGenerate.EOF
SQL3 = "Select intId from IPDMst where TXTliteral='" &
rsGenerate.Fields("MyString").Value & "'"
Set temprsGenerate = CurrentDb().OpenRecordset(SQL3)其中,tempExtractedtbl中的MyString取值为:
PO_EDGE_00503|Device Charge_1|Device
Type~Smartphone~Manufacturer~Apple~Model~iPhone 6~Capacity~32
GB~Colour~Space Grey~Blue Tick~FALSE~4GX~TRUE~Splash Proof~FALSE~Removable
Battery~FALSE~Expandable Memory~FALSE~HD Video
Recording~TRUE~NFC~TRUE~Featured~FALSE~Bonus Gift~FALSE~Operating
System~ios~Hot Buy~FALSE~Root Offering~Mobility Offer~但是当它存储在记录集中时,MyString的值被修整为255个字符。当我执行的时候
?rsGenerate.Fields("MyString").Value在即时窗口中,我得到MyString为
PO_EDGE_00503|Device Charge_1|Device
Type~Smartphone~Manufacturer~Apple~Model~iPhone 6~Capacity~32
GB~Colour~Space Grey~Blue Tick~FALSE~4GX~TRUE~Splash Proof~FALSE~Removable
Battery~FALSE~Expandable Memory~FALSE~HD Video
Recording~TRUE~NFC~TRUE~Featured~F当我执行SQL3时,当MyString被修剪时,我得到了以下错误。

备注字段的记录集是否有限制,因为MyString是具有备注数据类型的字段。有没有办法在记录集中存储长度超过255个字符的字符串并使用它?
发布于 2017-09-27 14:59:21
DISTINCT和Memo字段不能一起使用。
http://allenbrowne.com/ser-63.html
如果您要求
Access根据备忘录处理数据,则它会截断备忘录:聚合、重复数据消除、格式化等。
唯一性备注:由于您要求查询只返回不同的值,因此Access必须将字段与所有其他记录进行比较。比较会导致截断。
从SELECT SQL中删除DISTINCT。
您可能需要创建另一个查询,该查询选择不同的值,但不包含备注,然后将其用作另一个查询的源,该查询检索备注而不进行重复数据删除。
https://stackoverflow.com/questions/46439459
复制相似问题