0

テーブル Order のテーブル Customer グローバル バッファ gbufOrder のバッファ bufCustomer があります。しかし、このコードは機能していません。find bufCustomer where bufCustomer.CustomerID = gbufOrder.CustomerID no-lock no-error. のようなコードを書きました。しかし、テーブルデータを確認すると、データはありますが、上記のようなコードを書いても機能しません。値を取得する他の方法はありますか?

4

1 に答える 1

1

バッファ付き:

DEFINE BUFFER gbufOrder FOR Order.
DEFINE BUFFER bufCustomer FOR Customer.

FIND FIRST gbufOrder NO-LOCK NO-ERROR.
IF AVAILABLE(gbufOrder) THEN
   DO:
      FIND bufCustomer where bufCustomer.CustNum = gbufOrder.CustNum NO-LOCK NO-ERROR.

      IF AVAILABLE(bufCustomer) THEN
         DO:
            DISP bufCustomer.name.
         END.
      ELSE
         DO:
            MESSAGE "Customer is not available!"
               VIEW-AS ALERT-BOX ERROR BUTTONS OK.
         END.
   END.
ELSE
   DO:
      MESSAGE "Order is not available!"
          VIEW-AS ALERT-BOX ERROR BUTTONS OK.
   END. 

バッファーなし

FIND FIRST Order NO-LOCK NO-ERROR.
IF AVAILABLE(Order) THEN
   DO:
      FIND Customer where Customer.CustNum = Order.CustNum NO-LOCK NO-ERROR.

      IF AVAILABLE(Customer) THEN
         DO:
            DISP Customer.name.
         END.
      ELSE
         DO:
            MESSAGE "Customer is not available!"
               VIEW-AS ALERT-BOX ERROR BUTTONS OK.
         END.
   END.
ELSE
   DO:
      MESSAGE "Order is not available!"
          VIEW-AS ALERT-BOX ERROR BUTTONS OK.
   END.

このプログラムは、sports200サンプル データベースで動作します (PROGRESS / OpenEdge インストール ディレクトリにあります)。

アップデート:

  • お客様の空き状況の確認
  • BUFFERなしのサンプルコードを追加
于 2012-10-09T13:37:31.823 に答える