2016-08-09 2 views
0

申し訳ありませんが、私はこの質問をするのに使用する正しい単語を知りません。私は公式の技術サポートではなく、問題のプログラムを書いていないことに注意してください。私は公式のテクニカルサポート会社が「私たちに行く前に、あなたはそれをもう一度やり直しましたか?」のチケットをすべて手に入れるのを待っている間に物事を修正しようとする人です。もう1つの検索文字列として.dbfのデータを使用してください

私たちの店のメインプログラムは、すべての患者データを.DBFの大きな束に保存します。私は、生年月日(pbirthdate)が記録されていないすべての患者に対して、IHI(Ihino)という値を削除したいと考えています。

残念ながら、患者データ(pbirthdateを含む)の大部分を保存するpatient.dbfは、IHI値(Ihino in HIPatientExt.dbf)を保存するものと同じではありません。それらの間に共通の値が1つあります。 patient.dbfにはpnumberという値があり、これはHIPatientExt.dbfのihipatno値に対応します(つまり、これらの数字は同じ患者を参照します)。

データベースコマンドの入力にアクセスできます。だから、それを使って、別のデータベースからのデータを使って、あるdbf内の値をクリア/置換する方法があります。私はおそらくそれがうまく語られていないことを知っている。別の言い方をすると、私はそれが関与pnumbersのリストを出力伴うことを考え出し

repl Ihino with "" for empty(pbirthdate)

私が実行したいコマンドは次のようになり、のは、彼らが同じの.dbfにあったとしましょう。 copy toを使用して、空のpbirthdateを持つすべての患者のpnumbersを含む大きな.txtファイルを作成しています。しかし、私はreplコマンドの一部としてこの大量のリストをどのように使うのか分かりません。それが可能であれば。

申し訳ありませんが質問の空気の性質。私が必要としていた方法でVFP9のコマンドを手に入れました。そして、ほとんどのVFPチュートリアルはおそらく石のタブレットに書かれているので、私は何をしようとしているのかをいくつか考えている人がいることを願っています。

よろしく

Lobsta

+0

ああ、Visual FoxProの喜び。 Visual FoxproではDBCリンクを使用してテーブルをバインドできるため、従来の*検索Xよりも相対Yおよび更新/削除*タイプのシナリオよりも複雑な問題が発生する可能性があります。 DBCファイルは元の開発者によって保護されているため、実際に直接アクセスすることはできません。 https://books.google.ca/books?id=wKNfTHRNkLAC&pg=PA224&lpg=PA224&dq=remove+foxpro+dbc+link&source=bl&ots=_-bTnTRp2G&sig=sX7eK8iUcwXeqvdbLQl-dKlPby0&hl=en&sa=X&redir_esc=y#v=onepage&q=remove %20foxpro%20dbc%20link&f = false。 –

+0

これは、すべての希望が失われているという意味ではなく、通常の状況下で、複数のテーブルを開き、内部選択、結合、およびFoxProの開発者が通常クライアントからの1つまたは複数のDBC内のすべてをバインドするためにプログラムを簡単に書くことは、直接DBFアクセスを使用するよりも簡単です。 –

+0

あなたが作業しているように聞こえるようなシステムを書く人として、これには注意してください。あなたはテーブルやその関係を熟知していなくても、削除や変更を行うと、患者の情報に大混乱を招く可能性があります。 – LAK

答えて

0

VFPは、照会、更新、追加、およびデータを削除するためのSQLコマンドをサポートしています。あなたが質問で指定したテーブル名とカラム名に基づいて、私はこれがうまくいくはずだと思います。

UPDATE ; 
    HIPatientExt ; && Table to Update 
SET ; 
    HIPatientExt.Ihino = '' ; && Column(s) to Update 
FROM ; 
    Patient, ; && List of Tables 
    HIPatientExt ; 
WHERE ; 
    HIPatientExt.ihipatno = Patient.pnumber ; && How to Relate Tables 
    AND EMPTY(Patient.pbirthdate) && Filter 
0

ちょうど関係を設定し、行く:

close all 
select 2 
use Patient 
index on pnumber to temp 
select 1 
use HIPatientExt 
set relation to pnumber into patient 
repl Ihino with "" for empty(patient.pbirthdate) 
関連する問題