你学过sql语言没有??
先得打开数据库,不能用in就认为可以了

解决方案 »

  1.   

    晕倒,没有这么使用的,老兄先好好看看数据库及SQL吧
      

  2.   

    是啊。SQL 没有这么用的!!!!!不错才怪!
      

  3.   

    你们都在说些什么呀,我的语句本来是下面这样的。一点都不报错。
    cnn1.Execute "insert into pfrealz in pf.mdb select * from pfreal"-------------------
    我告诉你们,不知道就不要乱说。上面的语句一点错都没有,成功写入。但是pf.mdb文件与可执行主程序要在同一级目录,不爽。我想在本级目录的下级目录存放pf.mdb.
    不过谢谢你们。上面的pf.mdb我就没有先打开,照样工作。你们不妨查查,SQl当然有这样用的。可以直接存取外部数据库。继续请教下面一句呀:
    cnn1.Execute "insert into pfrealz in " & App.Path & "\work1\pf.mdb select * from pfreal"---------------
    另外,如果是要求先打开外部数据库,SQL会报错说找不到pf.mdb,而不是"insert into 语句语法错误“。不过谢谢你们。请大家多多指教。不要骂我哟。
      

  4.   

    dim strconnect as string
    strconnect =“insert into pfrealz in " & App.Path & "\work1\pf.mdb select * from pfreal"
    debug。print strconnect
    可以看看是不是符合语法规范,我想既然那样可以的话,加上一段路径应该也不成问题。可以看看是不是语法那里出问题了。
      

  5.   

    没试过这种SQL语句,猜测一下会不会是select * from pfreal的默认路径还是当前目录所以出错?
      

  6.   

    是这样。pfreal这个表是在数据库feed中。而feed.mdb是在work1子目录下。我现在想将feed.mdb与pf.mdb放在同一目录下。
    我觉得报告"insert into 语句的语法错误"这句错误提示表明,好像与目录没关系。如果与目录有关系,则我已在代码中指明了呀。我觉得是不是这种语句就不不许加路径??但是不加路径数据库的存放就不好说了谁能直接说说错误的原因?
    继续请大家指教!还没有解决!
      

  7.   

    请大家看问题时注意一下,是”语法错误“。所以从SQL语句的写法上找找原因吧。
    但我是想不出了。
      

  8.   

    INSERT INTO 语句 
    添加一个或多个记录至一个表。这叫作追加查询.语法
    多重记录追加查询:INSERT INTO target [(field1[, field2[, ...]])][IN外部数据库]
        SELECT field1[, field2[, ...]]
        FROM tableexpression单一记录追加查询:INSERT INTO target [(field1[, field2[, ...]])]
        VALUES (value1[, value2[, ...])INSERT INTO 语句可分为以下几个部分:部分 说明 
    target 欲追加记录的表或查询的名称。 
    field1, field2 如果后面跟的是 target 参数,则为要追加数据的字段名;如果后面跟的是 source 参数,则为从其中获得数据的字段名。 
    Externaldatabase 进入外部数据库的路径。有关路径的描述,请参阅 IN 子句。 
    source 复制记录的来源表或查询的名称。 
    tableexpression 从其中得到要插入的记录的表名。这个变元可能是一个单一的表名,也可能是一个由 INNER JOIN, LEFT JOIN或 RIGHT JOIN 运算组成的复合体,或是一个储存的查询。 
    value1,value2 欲插入新记录的特定字段的值。每一个值将依照它在列表中的位置,顺序插入相关字段:value1 将被插入至追加记录的 field1 之中,value2 插入至 field2,依此类推。必须使用逗点将这些值分隔,并且将文本字段用引号 (' ') 括起来。 
    说明
    可以使用 INSERT INTO 语句来添加一个单一记录至一个表中,如以上所示使用单一记录追加查询语法。在这个例子中,代码指定了该记录每一字段的名称和值。必须指定追加数值的记录的每一个字段和那个字段的值。如果您没有指定每一个字段时,缺省值或 Null 值将被插入至没有数据的字段之中。这些记录将被添加至表的尾部。通过使用 SELECT ...FROM 子句如以上所示的多重记录追加查询语法,也可以从另一表或查询使用 INSERT INTO追加一组记录。在这个示例中,SELECT 子句将指定追加字段至指定的 target 表。source 或 target 表可以指定一个表或查询。如果查询被指定,Microsoft Jet数据库引擎会把记录追加到由该查询指定的所有表中。INSERT INTO 是可选的,但当使用时,请置於 SELECT 语句之前。如果你的目标表包含一个 主键,,你一定要把唯一的非 Null 值追加到主键字段中,否则 Microsoft Jet 数据库引擎不会追加记录。如果你要把把记录追加到带有 AutoNumber字段的表中,还想重编追加的记录,请不要在你的查询中包含 AutoNumber字段。如果您要保持字段中的原始值,请将自动编号加在您的查询之中。使用 IN 子句,可追加记录至另一个数据库中的表。要创建新表请用 SELECT...INTO 语句代替制表查询的创建。若要在运行追加查询之前找出哪些记录是被追加的,首先执行和查阅一个使用相同的选择条件之选定查询所获得的结果。追加查询为从一个或多个表中复制记录至另一个表。您追加的表包含记录将不会被追加查询所影响。除了从另一表中来追加现存的记录,可以指定在单一追加记录之中使用 VALUES 子句来指定对每一字段的值。如果您省略字段列表,VALUES 子句在表之中必须包含每一字段的值;否则, INSERT运算将会失败。使用额外的 INSERT INTO 语句与一个 VALUES 子句来创建您要的每一个额外的记录。===========================================================3
      

  9.   

    INTO 语句示例此示例选择在一假设的新客户表中的所有记录,并且增加它们至客户表中。当个别的栏没有设计时,此 SELECT 表的列名必须完全地符合那些在 INSERT INTO 表中的列名。Sub InsertIntoX1()
        Dim dbs As Database
        ' 在您的计算机中修改此行使其正确指到 Northwind 的路径。    Set dbs = OpenDatabase("Northwind.mdb")    ' 对运费超过 $100 的订单,        ' 在新客户表中选择所有记录,    ' 并且添加它们至客户表。    dbs.Execute " INSERT INTO Customers " _        & "SELECT * " _        & "FROM [New Customers];"            dbs.Close
    End Sub此示例创建在员工表中的添加记录。Sub InsertIntoX2()
        Dim dbs As Database
        ' 在您的计算机中修改此行使其正确指到 Northwind 的路径。    Set dbs = OpenDatabase("Northwind.mdb")    ' 对运费超过 $100 的订单,        ' 创建在员工表中的新记录,     ' 其姓氏是 Washington,名字是 Harry,    ' 并且职称是 Trainee。    dbs.Execute " INSERT INTO Employees " _        & "(FirstName,LastName, Title) VALUES " _        & "('Harry', 'Washington', 'Trainee');"            dbs.Close
    End Sub================================================================ok?
      

  10.   

    "insert into pfrealz in " & App.Path & "\work1\pf.mdb select *              -----------------------------------------
                外部数据库from pfreal"
         ------
         现打开数据库你用反了 哈哈就 不吗你了拿分来!!!200要不就开骂了 
    哈玩笑
    ================================================================ok?
      

  11.   

    呵呵~~~ 真正的答案来了~~~~~~~gflily (gf) 它SQL的语法在Access中是有效的~~~ 不要骂人不懂啊~~~ 只是你在增加路径时没有用符号区分,以致错误~~~~~ 正确的用法:cnn1.Execute "insert into pfrealz in '" & App.Path & "\work1\pf.mdb' select * from pfreal"注意到语句中的单引号了吗?要作单引号把外部文件括引起来,问题应可以解决了~~ 给我全分
      

  12.   

    first ,i have to say ,wxyq2000,thank u although ur way is wrong and cant deal with my questions.anyway i should give u some points.   ok,fs_windy's way is right,thank u . i hope i could give u all points.but ...,give me ur QQ.ok? how do u know that it needs single quotes?
      

  13.   

    不好意思啦,wxyq2000我给你8分,表彰你热情助人的风格。fs_windy,我只好给你12分了。呵呵
    正是你的回答,是我所想要的。你说对了。再一次谢谢你们俩。
    希望给我你们俩的QQ,交个朋友。
      

  14.   

    另外还要谢谢darkmoon(黑月)???,嘿嘿,你是好朋友。