我在此尋求解決方案。每個月我都有一個dbf。在每個dbf中有兩列名爲A和B,A是一系列數字,B是vlookup,並且如果列A中的值未出現在1月的列A中,我想在2月份將列B替換爲「新」 ,反之亦然,「老」。我的代碼如下:Foxpro替換爲「」不在
REPLACE ALL B WITH "Old"
REPLACE ALL B WITH "New" FOR A NOT IN (sele A FROM &filejanuary)
謝謝。
我在此尋求解決方案。每個月我都有一個dbf。在每個dbf中有兩列名爲A和B,A是一系列數字,B是vlookup,並且如果列A中的值未出現在1月的列A中,我想在2月份將列B替換爲「新」 ,反之亦然,「老」。我的代碼如下:Foxpro替換爲「」不在
REPLACE ALL B WITH "Old"
REPLACE ALL B WITH "New" FOR A NOT IN (sele A FROM &filejanuary)
謝謝。
以上評論者很接近。
使用SQL UPDATE命令...
* --- Replace ALL Feb.B with "Old" ---
UPDATE February SET February.B = 'Old'
* --- Now change Feb.B to "New" for Applicable Conditions ---
UPDATE February SET February.B = 'New' ;
WHERE February.A NOT IN (SELECT A FROM January)
注 - 也有VFP命令的方法
* --- Replace ALL Feb.B with "Old" ---
SELECT February
REPLACE ALL February.B WITH "Old"
* --- Relate table January to table February through Field A ---
SELECT January
SET ORDER TO A && Assumes Index built on Jan with Expression = A
SELECT February
SET RELATION TO A INTO January
* --- Replace ALL Feb.B with "New" for No Related A in Jan ---
REPLACE ALL B WITH "New" FOR EMPTY(January.A)
好運
update February set February.B = 'Old'
update February set February.B = 'New' ;
where not exists (select * from January where January.A = February.A)
我認爲該命令可以用於其他SQL語言,但不能直接在FoxPro中使用 –
該代碼也適用於fox pro。當說到狐狸親時,你在說哪個版本? –
對於遲到回覆感到抱歉,我目前使用VFP7.0 –
此外,如果你想用的xBase,那麼它如果在January.A上有一個索引,它會簡單得多。(可以說它的標籤是JanA--誰真的可以命名字段A,B ......):
select February
replace all B with iif(seek(February.A, 'January', 'JanA'), 'Old', 'New')
是的,我已經使用@Dhugalma的命令完成了它。感謝這兩個。 –
當你說「上面的評論員很近」時,你的意思是什麼?什麼部分不適合你?你可以在SQL和VFP中使用許多不同的形式來做同樣的事情。 @昂藝威,它不是很接近目標。你不應該以假設作出決定並先嘗試。順便說一句,「關閉」代碼甚至可以在VFP5中工作。 –