学校で FoxPro を使い始めたばかりですが、データを複数のテーブル (デザイナーなし) に追加する必要があるフォームを作成しようとすると、いくつかの問題が発生します。
APPEND コマンドを使用していますが、これはメイン テーブルにのみデータを追加するようです。
解決策の提案は大歓迎です。
ありがとう
追加を行う前に、ワークエリア (エイリアスまたはテーブル) を明示的に選択する必要があります。たとえば、「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
等...
さらに、VFP DOES は 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