1. 建立 ODBC (注意 User ID 需要是大寫的資料庫名稱)
2. 建立 FoxPro 連線 (選擇第一項的 ODBC 名稱)
3. 以第二項的連線建立遠端資料集
4. 加入資料表格就可以看到 Oracel 上的 View.
Genero 發表在 痞客邦 留言(0) 人氣(135)
匯入的檔案,一般如果只有簡單的英文和數字,並不會有太大問題,但是如果匯入的資料中,有包含以下狀況,則要注意 :
1. 逗號 (,)
2. 中文字 (內容或標題)
3. 特殊符號 ( Ø )
第一種 逗號 (,) 如果要資訊中含有 , 要分格欄位的字元就無法用 , 可能用EXCEL 新增欄位合併來取代 如 A1&"^"&B1&"^"&C1, 將欄位複製到 TXT UFT-8 檔案中。
第二種 中文字 中文字或特殊符號,轉入的文字檔記得需要改為 UTF-8 的文字檔才行 , ANSI 或是 Unicode的檔案 均無法支援 4GL 的 Load File .
第三種 特殊符號同中文字處理。
另外要注意的
1. Select 語法在區別時,除了第一列與最後一列外,其餘的寫法都比照新增即可。僅需注意最後一列寫法。
2. EXCEL 貼入文字檔時,亦不可整欄複製。要選取特定範圍複製。
範例如下 :
Genero 發表在 痞客邦 留言(2) 人氣(1,572)
說明 : 如何對日期作增加月份,以及取當月的最後一日
作法:
LET g_tc_ila004 = cl_cal(g_today,59,0) # Tiptop 副程式, 59 表月份, 0 日期
LET a = YEAR(g_tc_ila004)
LET b = MONTH(g_tc_ila004)
LET c = cl_days(a,b) #Tiptop 副程式, 取該年月的天數
LET g_tc_ila004 = MDY(b,c,a) #日其組合
如 當天為 2012/11/29, g_tc_ila004 => 2017/10/30
Genero 發表在 痞客邦 留言(0) 人氣(878)
需求: 需要卡一個欄位,在特定條件下,必須要輸入,並且寫入特定的 Table。
作法 :
1. 在 [確認] 段 增加 檢核功能。
2. 檢核時,如無輸入,提供 INPUT 輸入。
3. 檢核OK,將資料記錄到 Table。並執行原確認程序。
4. 如果檢核不OK,不執行原確認段程式。
Genero 發表在 痞客邦 留言(0) 人氣(144)
要在多角出貨單單身,增加訂單單頭欄位作為查詢條件。參考程式碼 saxmt600.4gl (121119)
Genero 發表在 痞客邦 留言(0) 人氣(105)
增加雙檔單身欄位時,
1. 先於 b_fill() Function 找尋相對應的欄位 (如 ta_rvb001),新增欄位。
2. 再至 4fd Browser panel Form Item 找到 ta_rvb001 Add Column After.
3. 最後開啟.global 找尋 ta_rvb001,新增欄位。
如此 FOREACH rvb_curs INTO g_rvb[g_cnt].* 時,欄位就會正確對應。
Genero 發表在 痞客邦 留言(0) 人氣(683)
一樣的功能,但放在不一樣的地方時,程式碼是不一定能全部 COPY
如訂單單身的 AFTER FIELD oeb04 段,加了以下一段程式碼
SELECT SUM(img10) INTO l_img10
FROM img_file
WHERE img01 = g_oeb[l_ac].oeb04 AND img02 IN ('HS02','HS24')
GROUP BY img01
IF cl_null(l_img10) THEN LET l_img10 = 0 END IF
LET g_oeb[l_ac].img10 = l_img10
DISPLAY BY NAME g_oeb[l_ac].img10
Genero 發表在 痞客邦 留言(0) 人氣(157)
控制畫面欄位是否可作為查詢或是可編輯修改的寫法
1. 查詢 => 開放可作為查詢的欄位 => FUNCTION ixxx_b_askkey()
2. 修改 => 關閉不可修改的欄位 => ixxx_b() => INPUT ARRAY => BEFORE ROW =>
IF g_rec_b>=l_ac THEN => LET p_cmd='u' => CALL ixxx_set_no_entry(p_cmd)
FUNCTION ixxx_set_no_entry(p_cmd)
DEFINE p_cmd LIKE type_file.chr1
IF p_cmd = 'u' THEN
CALL cl_set_comp_entry("feb02,ta_feb001,ta_feb002,ta_feb003,ta_feb004",FALSE)
END IF
END FUNCTION
Genero 發表在 痞客邦 留言(0) 人氣(441)
如果只寫 CLEAR FORM ,只是清除畫面,但欄位的值並沒有清除, 如果是 LET xxx = '' 或 CALL g_imn.clear() 只是清空值,畫面沒有清除。
所以應該二個都要放才OK。
LET g_tc_ila001 = '' # 畫面 Field
# CALL g_imn.clear() # Grid
CLEAR FORM
Genero 發表在 痞客邦 留言(0) 人氣(364)
SQL 排序 先排第一欄 倒排 ,再作第二欄倒排 (由大到小) ,常會這樣寫 ORDER BY 1, 2 DESC
正確寫法 ORDER BY 1 DESC, 2 DESC
Genero 發表在 痞客邦 留言(0) 人氣(286)