2017-09-07 4 views
-1

すべてがタイトルに含まれています。 私はプログラミング言語としてデータベースとVBとしてアクセスしています。Vb内の2つの異なるテーブルで別の数量を持つ数量を減算する

データテーブルを別のテーブルにコピーするコードはありますが、SELECT INTO構文と別の構文を使用して減算する必要があります。

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click 

    provider = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" 
    dataFile = "C:\Users\Panda\Desktop\Test\AppMag\AppMag\Magasindb.accdb;Cache Authentication=True" 

    connString = provider & dataFile 
    myConnection.ConnectionString = connString 
    myConnection.Open() 

    Dim str1 As String 

    str1 = "INSERT INTO Commandes_ok (Nom_commande_o, Nom_commande_o2, Nombre_commande_o, Nombre_commande_o2) Values (?, ?, ?, ?)" 

    Dim cmd As OleDbCommand = New OleDbCommand(str1, myConnection) 

    cmd.Parameters.Add(New OleDbParameter("commande1", CType(cmd1textbox.Text, String))) 
    cmd.Parameters.Add(New OleDbParameter("commande2", CType(cmd2textbox.Text, String))) 
    cmd.Parameters.Add(New OleDbParameter("Amount1", CType(amount1textbox.Text, String))) 
    cmd.Parameters.Add(New OleDbParameter("Amount2", CType(amount2textbox.Text, String))) 

    Try 
     cmd.ExecuteNonQuery() 
     cmd.Dispose() 
     myConnection.Close() 

     cmd1textbox.Clear() 
     amount1textbox.Clear() 
     cmd2textbox.Clear() 
     amount2textbox.Clear() 
    Catch ex As Exception 
     MsgBox(ex.Message) 
    End Try 
End Sub 

私はarticleテーブルから「nombre_article」という名前の数量とするとき、顧客はそれが「Commandes」という名前の別のテーブルにコピーし、要求を送信しています。

管理者がokを送信し、「Commandes」のデータが問題のある「Commandes_ok」の横に表示されるまで、「Commandes」に保留中の要求があります。 「Commandes_ok」にそれをコピーしている間、私は

ここに私のアクセスDBの[Nombre_commande]減算したいと[Nombre_commandes2]「記事」から選択された記事のための初期在庫[nombre_article]で「Commandes」にである:

[記事]

{PRIM - > Id_article:オートナンバーFOREIGN KEY - > ID_commande:オートナンバー}

[Commandes]

{PRIM - > ID_commande:オートナンバー}

[Commandes_ok]

{PRIM - > ID_commande_o:オートナンバーFOREIGN KEY - > ID_commande:オートナンバーFOREIGN KEY - > ID_user:オートナンバー}

+0

「すべてがタイトルに入っています」という情報はたくさんあります。 :)あなたはSELECT INTOで何を試しましたか?あなたが必要とするフィールドを得るために**複数のテーブルに参加する必要があるように思われるので、より多くの情報が必要ですが、[Commandes]、[Artcile]、[Commandes_ok]テーブルがどのように関連しているかは明確ではありません。 **プライマリキーとフォーリンキー**ですか?あなたの質問を編集し、これらの詳細を提供してください。 –

+0

また、コードはテーブルや列の必要な詳細を把握することができないため、あまり有用ではないようです。質問は、SQLステートメントを使用してテーブルを結合および更新することで、コードについては説明しません。コード自体に問題がない限り、コードブロック全体を投稿しないでください。 https://stackoverflow.com/help/how-to-askを参照してください。 –

+0

[記事] { \t PRIM - > id_article:オートナンバー \t FOREIGN KEY - >受注:オートナンバー \t } [注文] { \t PRIM - >受注:オートナンバー \t [Commandes_ok] {\t PRIM - > ID_commande_o:オートナンバー \t FOREIGN KEY - >受注:オートナンバー \t FOREIGN KEY - > ID_user:オートナンバー \t} [ユーザー] { \t PRIM - > ID_user:いくつかの詳細情報を提供オートナンバー \t @CPerkins –

答えて

0

詳細はまだ完全な答えを与えるために十分ではありません。質問は2つの異なるテーブルから量を減算することについてですが、正確にを指定しても結果はに格納され、はどこに指定されますかにはなりません。 TextBox値がテーブルなどとどのように関係しているかは明確ではありません。値は既にテーブルにありますか、TextBoxに指定されていますか?それは紛らわしい。 INSERT INTO ... SELECTに関する追加情報が必要な場合は、オンラインドキュメントを検索して読んでください。

INSERT INTO [Commandes_ok] (Nom_commande_o, Nom_commande_o2, Nombre_commande_o, Nombre_commande_o2, UNKNOWN_COLUMN) 
SELECT ?, ?, ?, ?, 
    [article].[nombre_article] - ([Commandes].[Nombre_commande] + [Commandes].[Nombre_commandes2]) As Subtraction 
FROM [Commandes] INNER JOIN [article] 
    ON [Commandes].ID_commande = [article].ID_commande 
WHERE [Commandes].ID_commande = ? 
関連する問題