0

簡単な VB の質問 -

私は VB6 を使用していますが、If...Then ステートメントを追加して、SQL で以前に入力されたフィールドを上書きするときにユーザーにプロンプ​​トを表示するだけです。これにより、追加のユーザーがフィールドを更新したことを知らずにフィールドを複数回更新するのを防ぐことができます。これが属する順序がわからないだけです。以前は、次の順序でした。

  1. ボタンをクリックすると、SQL データベースへの接続がテストされ、フィールド userName が現在空である場合は user1 の名前で更新されます。
  2. SQL接続を閉じる

If...Then を追加すると、次のようになります。

  1. ボタンをクリックすると、接続がテストされ、空の場合は user1 の名前でフィールド userName が更新されます。
  2. 更新したら、「更新された」ブールフィールド(SQL更新があるたびに追跡するためにフィールドを追加しました)をTrueに更新します。
  3. 最初のステートメントの End IF の前に IF ステートメントを追加し、IF 'updated' = True であると述べてから、user2 に 2 回目の userName フィールドの更新を継続するかどうかの決定を求める YES/NO Msgbox を表示します。 user1 の名前を上書きしてから、End If を上書きします。
  4. 最初の更新ステートメントで終了 If。
  5. SQL 接続を閉じます。

最終的な目標は、user1 が既に更新したという何らかのプロンプトを受信せずに、user2 が user1 の更新をすぐに上書きするのを防ぐことです。私のコードが最初の更新IF..THENを囲むべきか、フィールドが空かどうかを最初にチェックする場所に置くべきかどうかはわかりません。どんな助けでも素晴らしいでしょう。

私は実際のコードを提供したでしょうが、それは独自のものです。

4

1 に答える 1

0

これはあなたが念頭に置いていることだと思いますか?

(connect to SQL, get field)
If strSQLField = "" Then
    If fUpdated = True Then
        nReturn = MsgBox "Do you want to overwrite the field?", vbYesNo
        If nReturn = vbYes Then
            (do overwrite code here)
        End If
    Else
        (do normal write code here)
    End If
End If
(close connection)
于 2012-05-29T22:19:50.483 に答える