3

我刚开始在学校使用 FoxPro,当我尝试创建一个需要向多个表添加数据的表单时遇到了一些问题(没有设计器)。

我正在使用 APPEND 命令,但这似乎只将数据添加到主表中。

非常感谢任何有关解决方案的建议。

谢谢

4

1 回答 1

3

在进行追加之前,您需要明确选择工作区(别名或表)。例如,在您的“CLICK”事件中,您会执行类似...

SELECT FirstTableName
append blank
replace FieldW with "something",;
        FieldX with 1.23,;
        FieldY with SomeVariable,;
        FieldZ with Thisform.SomeTextbox.Value

SELECT SecondTableOrAlias
append blank
replace FieldA with Thisform.AnotherTextbox.Value,;
        FieldB with Thisform.SomeCheckBox.Value

SELECT ThirdTableOrAlias
append blank
replace ...

如果尚未从表单的 DataEnvironment 打开表,您可能希望通过在上述追加/替换之前执行以下操作来确保它们首先打开

if not used( "FirstTableName" )
   select 0
   use FirstTableName
ENDIF 

if not used( "SecondTableOrAlias")
   select 0
   use SecondTableOrAlias
endif 

ETC...

此外,VFP 也支持 SQL,所以你可以这样做

insert into FirstTableName ;
   ( FieldW,;
     FieldX,;
     FieldY,;
     FieldZ ;
   );
   values ;
   ( "something",;
     1.23,;
     SomeVariable,;
     Thisform.SomeTextbox.Value ;
   )

并通过 SQL-Select 查询数据

select * from FirstTableName ;
   where FieldW = "something" ;
   into cursor C_SomeTempResultSet READWRITE
于 2012-06-07T18:47:58.427 回答