我想显示所有的项目和客户的名字,购买和不购买这类项目。列显示项目、项目名称、购买的客户名称、未购买的客户名称。在SQL中,它如下所示。
SELECT field1,field2,field3
FROM tbl1 JOIN tbl2 on ...
WHERE field3 NOT IN (
SELECT distinct field3 FROM tbl3 JOIN tbl4 on ...
WHERE ...)
这里有4张桌子
customers orders orderlines ite
我在一个4gl模块中有以下代码:
DEFINE f_drec RECORD LIKE verhistd.*
DEFINE f_input
RECORD
long_desc LIKE verhistd.long_desc
END RECORD
Let f_input.long_desc = f_drec.long_desc
其中verhistd.long_desc是文本数据类型。但是当我编译代码时,我得到了这个错误消息:
|
| The variable "f_input.long_desc" is too complex a type to b
我正在尝试针对进度OpenEdge编写IF/ to / and,并在我尝试过的每次迭代中获取语法错误。我试着选择一组列并做一些计算。一个calc是除以两个列,所以我试图检查除数列,以防它是零。
下面的错误与语句中不喜欢的内容略有不同,这取决于IF/然后我使用的是什么变化。
ERROR [HY000] [DataDirect][ODBC Progress OpenEdge Wire Protocol driver][OPENEDGE]
Syntax error in SQL statement at or about "= 0 THEN ColumnA ELSE (ColumnA
我们有一个sql表,其中有一个用科学记数法存储值的浮点列。我有一个值-1.23E-256。当我运行查询并将查询结果分配给变量时,我将这个浮点值分配给一个小数(15,2)。但由于这种科学表示法,4gl程序中的值不会被赋值给变量并抛出错误。我试图在select查询中使用convert和cast函数将科学记数法更改为十进制,但是抛出了错误"value is very small to stored to a decimal“。我想要将这些浮点变量从数据库转换为十进制格式的4gl程序中的变量。我怎样才能做到这一点呢?
谁能帮助我理解如何使用Progress 4gl框架显示以下图案:
1
1 2
1 2 3
1 2 3 4
1 2 3 4 5.
我试过这样做:
DEFINE VARIABLE a AS INTEGER NO-UNDO.
DEFINE VARIABLE b AS INTEGER NO-UNDO.
DO
a =1 TO 5 WITH FRAME f:
DO
b = 1 TO a WITH FRAME f:
DISPLAY a SPACE SKIP.
PAUSE.
END.
END.
/*显示答案被覆盖,如何并排显示答案?*
我刚开始使用4gl,但不知道如何用逗号分隔符来编写逻辑以获得最后一个逗号之后的值和最后一个值之前的值。请帮帮忙
define variable cdata as character no-undo initial "1,14,13,45".
define variable lvc_data1 as character no-undo.
define variable lvc_data2 as character no-undo.
预期结果将被分配(仅使用分隔符):
lvc_data1 = "45“
lvc_data2 = "1,14,13“
我不熟悉progress 4GL,我写了以下代码来将文件从输入目录移动到输出目录。但令人担忧的是,我想在移动之前/之后重命名文件。 define variable m_inp as character no-undo initial "C:\Input\Test.csv".
define variable m_outpath as character no-undo initial "C:\Output".
file-info:filename = m_inp.
if file-info:file-size > 0
then
unix
我开始了新的线程。我有一个奇怪的问题,程序的源代码我看不到。
我挂接了program_b.p的入口事件:
DEF VAR hField1 AS HANDLE.
DEF VAR hField2 AS HANDLE.
hField1 = getHandle( "field1", "frame1" ) . /* (This function is not important, works properly, returning handle to field in that frame) */
hField2 = getHandle( "field2"
在PHP和MySQL中,我可以对数据进行分页,如下所示:
select * from customers LIMIT $start, $limit;
结果将返回我所要求的页面。是否有可能使用Advancement4GL来做这样的事情?
我不使用-> select from customers
我使用-> for each customers
但是,如何设置查询搜索的限制和页面呢?
分页示例:
我的数据库里有20.000个客户。在我所做的每一次搜索中,我都想把结果分开。我想发送给应用程序的限制是100行1000行。当用户按下第2页时,它会返回另外100行(但不是旧的1
我尝试在4GL中运行查询时遇到问题。
这是可行的
FOR EACH platte.item_branch NO-LOCK
WHERE item_branch.item_ptr = 23546:
DISPLAY
item_branch.system_id LABEL "bar" "|SEP|"
item_branch.item_ptr LABEL "foobar"
WITH WIDTH 122.
END.
但这并不是
FOR EACH platte.item_branch NO-LOCK
WHERE
我有一个进步的问题,我们通常的程序员,这是为假期,我没有真正的了解系统。我需要一份不是这些代码"AXD“、"BOD”、"CLA“、"CNA”、"CTS“、"NOB”、"OFF“、"ONA”、"PRJ“、"WVL”的分支的列表。
我试过for each removals where r-brchdisplay not(matches ["AXD","BOD","CLA","CNA","CTS","NOB","OFF
在查看一个在Progress4GL中开发的框架时,我看到了如下源代码:
DEFINE FRAME FRM1
Field1 AT ROW 1.54 COL 3 NO-LABEL
Field2 AT ROW 1.81 COL 33
Field3 AT ROW 2.54 COL 7.29 COLON-ALIGNED
...
这种硬编码的工作方式与Java (Swing)和Delphi (面板)中的GUI开发有很大不同,后者使用了通用的布局,对调整大小、使用不同的分辨率、.
我的同事不知道我在说什么,因此我的问题是:在OpenEdge进度4GL中是否可能采用现代
我是新来的进步4gl。我有一个查询,在这里,我必须计算特定客户的销售订单数量。
我有桌子,因为so_mstr和so_cust是我的客户名称字段,so_nbr是我的销售订单号字段。
在SQL中我尝试过这样做,
select so_cust,count(distinct so_nbr) from so_mstr group by so_cust.
请在进行中帮助我。谢谢。
我有一个有17行记录的列(chgkey)。如何打印同一行的前3条记录(如raw1、raw2、raw3)。现在我可以毫无问题地打印raw1了。任何帮助都将不胜感激。下面是我的代码。
let rpt.chgkey = null
select * into z_charge.* from charge where charnum in
(select shtwrd_no from crbookid where
crbookid.book_no = rpt.book_no and crbookid.line_no = rpt.li
我有以下数据集:
需要为每个客户添加两个新列--第一列从第2行中减去第1行,这样我们就可以获得“天”的#,在此之后,客户更新其成员资格--第二列计算客户更新其成员资格的次数#,这只是从0开始的计数。
Row - Customer - Renew Date - Type of Renewal - Days_Since -Prev_Renewal
1 - A - June 10, 2010 - X
2 - A - May 01, 2011 - Y
我需要写这个进度查询的帮助:首先找到一个无锁where a.a = variable and a.b = variable2 and a.c = variable3 and ((a.d <> variable4和a.e <> variable5 and a.f <> variable6) /*这个"or“只是我想要做的事情的子解码*/ or in (first b no-lock where b.a = variable /*(b.b = variable7或b.b = variable8无错误)无错误。`
"or in“是我遇到麻烦的地方。
我有多个窗口在我的4gl程序,我必须定位到屏幕的中心。例如:
OPEN WINDOW w_yesno AT 10, 10
WITH 4 ROWS, 56 COLUMNS
ATTRIBUTE (BORDER, MESSAGE LINE FIRST+1,
PROMPT LINE FIRST+2)
有什么关键字我可以用来自动打开它的中心吗?类似于:
OPEN WINDOW w_yesno AT CENTER
有没有动态引用变量的方法?显然,value()不适用于变量引用。
def var export-columns as char extent.
def var i as int.
def var my-columns as char extent ["column1, column2"].
export-columns = value("my-columns").
do i = 1 to extent(export-columns):
put export-columns[i].
end.