MS Access表单中的SQL语法

MS Access表单中的SQL语法,sql,parameters,Sql,Parameters,我有一个SQL语法的问题,我已经挣扎了好几天了 我已经创建了一个名为IP Country Form的MS Access 2010表单,我想在其中插入一个名为Country的文本框,该文本框中包含从以下查询中获得的国家,该查询查询了一个名为IPLocation的表,该表根据IP编号和字段包含国家: IPNS IPNE CY2(2 letter Country Code) CY3(3 Letter country Code) Country (full Country Name) 表行如下所示:

我有一个SQL语法的问题,我已经挣扎了好几天了

我已经创建了一个名为IP Country Form的MS Access 2010表单,我想在其中插入一个名为Country的文本框,该文本框中包含从以下查询中获得的国家,该查询查询了一个名为IPLocation的表,该表根据IP编号和字段包含国家:

IPNS IPNE CY2(2 letter Country Code) CY3(3 Letter country Code) Country (full Country Name)
表行如下所示:

IPNS     | IPNE     | CY2 | CY3 | COUNTRY
19791872 | 19922943 | TH  | THA | THAILAND
该表单根据IP地址计算IP号码,并将其放在名为IPNumber的文本框中,然后我在SQL查询中使用该文本框来获取与之对应的国家/地区

我目前的查询是:

SELECT IPLocation.IPNS, IPLocation.IPNE, IPLocation.CY2, IPLocationCY3, IP.Location.Country 
  FROM IPLocation 
 WHERE (((IPLocation.IPNS)<" & [Forms]![IP Country Form]![IPNumber]) 
   And ((IPLocation.IPNE) > " & [Forms]![IP Country Form]![IPNumber]))
IPN、IPNE和IPNumber一样都是数字

基本上,该查询旨在查找IPN编号位于IPN和IPNE之间的国家

任何帮助都将不胜感激

我使用的测试查询:

Set rst = dbs.OpenRecordset("
                 SELECT IPLocation.IPNS, IPLocation.IPNE, IPLocation.CY2, IPLocation.CY3,
                        IPLocation.Country 
                   FROM IPLocation 
                  WHERE (((IPLocation.IPNS)>19791871) 
                    AND ((IPLocation.IPNE)<19922944))
           ")

工作正常,并返回正确的国家/地区

对代码使用的查询在and子句中反转了比较运算符

IPLocation.IPNS>&[Forms]![知识产权国家表格]![知识产权编号]


IPLocation.IPNE在您的测试查询中,您的<和>是相反的。您好,我的问题是当我在一个过程中使用以下语句运行查询时:Set rst=dbs.OpenRecordsetSELECT CY2,CY3,Country FROM IPLocation,其中IPN请编辑您的问题以添加错误和您可以提供的任何新信息。正如您所看到的,注释上的代码不能很好地工作。
SELECT IPLocation.IPNS, IPLocation.IPNE, IPLocation.CY2, IPLocationCY3,
       IP.Location.Country 
  FROM IPLocation 
 WHERE (((IPLocation.IPNS) > " & [Forms]![IP Country Form]![IPNumber]) 
   And ((IPLocation.IPNE) < " & [Forms]![IP Country Form]![IPNumber]))