2012-02-18 12 views
1

解決済み:新しいテーブルを作成して[IT-DEC]、[IT-DEC-MAKER-FNAME]、[IT-DEC-MAKER-LNAME]を削除することで、私は、問題は、誰もが、これはIDを起こった理由を理論を持っているがあれば、解決しているように見えるが、実際にアクセスデータベースにレコードが挿入されていません

ありがとうあなたの貢献に感謝

なITDECMAKER ITDECMAKEFNAME ITDECMAKERLNAMEとしてアクセスによって受け入れられた文字列によって、それらを置き換え私はテーブルに複数行のデータを挿入することに問題があります。例えば、私のフォームをロードし、テキストボックスにデータを入力すると、すべての情報がそれぞれのテーブルに挿入されますが、2回目にデータを挿入すると、すべてのデータがそれぞれのテーブルに挿入されますそれ以上のデータを取って、1行のデータしか許容しない。

これは、このコードが挿入するための責任がある複数のレコードを受け付けていません同じ形で私が使用していたコード

コードのこの部分は、UserInfoテーブルを担当して

Private Sub proceedBTN_Click() 

GlobalVar.flp = Me.qfirstname + Me.qlastname + Me.qmobile 

CurrentDb.Execute "INSERT INTO UserInfo(" _ 
& "FLP, FirstName, LastName, Company, JobTitle, PhoneNumber, Mobile, Email, Fax, " _ 
& "[IT-DEC], [IT-DEC-MAKER-FNAME], [IT-DEC-MAKER-LNAME], Contact, ContactMethodPhone, " _ 
& "ContactMethodEmail, ContactMethodFax, ContactMethodPostal , AcquisitionTimeFrame,  Budget ) " _ 
    & "VALUES('" & GlobalVar.flp & "','" & Me.qfirstname & "','" & Me.qlastname & "','" &  Me.qcompany & "','" & Me.qjob & "','" & Me.qphone & "','" & Me.qmobile & "','" & Me.qemail & "','" _ 
    & Me.qfax & "','" & Me.itdecopt & "','" & Me.qitfirstname & "','" & Me.qitlastname & "','" & Me.contactoption & "','" _ 
    & Me.contactphoneopt & "','" & Me.contactemailopt & "','" & Me.contactfaxopt & "','" &  Me.contactpostalopt & "','" & Me.acquisitionoption & "','" & Me.budgetoption & "');" 

です複数のレコードを連続して入力できるUserPartnersテーブルに追加します。

Private Sub proceedBTN_Click() 
    Dim Db As DAO.Database 
    Set Db = CurrentDb 
    Dim qd As DAO.QueryDef 
    Dim SQL As String 
    SQL = "INSERT INTO UserInfo(" & _ 
     "FLP, FirstName, LastName, Company, JobTitle, PhoneNumber, Mobile, Email, Fax, " & _ 
     "[IT-DEC], [IT-DEC-MAKER-FNAME], [IT-DEC-MAKER-LNAME], Contact, ContactMethodPhone, " & _ 
     "ContactMethodEmail, ContactMethodFax, ContactMethodPostal , AcquisitionTimeFrame, Budget) " & _ 
     "VALUES([pflp], [pfirstname], [pqlastname], [pqcompany],[pqjob],[pqphone],[pqmobile], [pqemail]," & _ 
      "[pqfax],[pitdecopt],pqitfirstname,[pqitlastname],[pcontactoption],[pcontactphoneopt],[pcontactemailopt]," & _ 
      "[pcontactfaxopt],[pcontactpostalopt],[pacquisitionoption],[pbudgetoption]);" 

    Set qd = Db.CreateQueryDef("", SQL) 
    qd.Parameters("pflp") = GlobalVar.flp 
    qd.Parameters("pfirstname") = Me.qfirstname 
    ' continue filling parameters.... 
    qd.Parameters("pbudgetoption").Value = Me.budgetoption 
    qd.Execute 

End Sub 

をこれで問題が解決しない場合:

CurrentDb.Execute "INSERT INTO UserPartners(" _ 
& "FLP, PartnerACT, PartnerBMB, PartnerEverTeam, " _ 
& "PartnerFormatech, PartnerICC, PartnerIBS, PartnerMegaTek, PartnerMDS,  PartnerProcomix, PartnerSetsSolutions, " _ 
& "PartnerTripleC, PartnerNewHorizons, PartnerPromethean, PartnerTeletrade,  PartnerNokia, PartnerPolycom, PartnerDell) " _ 
    & "VALUES('" & GlobalVar.flp & "','" & Me.partneract & "','" & Me.partnerbmb & "','" _ 
    & Me.partnereverteam & "','" & Me.partnerformatech & "','" & Me.partnericc & "','" & Me.partneribs & "','" & Me.partnermegatek & "','" & Me.partnermds & "','" _ 
    & Me.partnerprocomix & "','" & Me.partnersetssolutions & "','" & Me.partnertriplec & "','" & Me.partnernewhorizons & "','" & Me.partnerpromethean & "','" _ 
    & Me.partnerteletrade & "','" & Me.partnernokia & "','" & Me.partnerpolycom & "','" & Me.partnerdell & "');" 

最後に、これは私があなたを助けることができる前に、次のようにパラメータを使用して手直ししてくださいフォーム全体

Option Compare Database 




Private Sub contactoption_Click() 

If Me.contactoption.Value = 2 Then 
Me.contactemailopt.Enabled = False 
Me.contactfaxopt.Enabled = False 
Me.contactphoneopt.Enabled = False 
Me.contactpostalopt.Enabled = False 
Me.partneract.Enabled = False 
Me.partnerbmb.Enabled = False 
Me.partnerdell.Enabled = False 
Me.partneredm.Enabled = False 
Me.partnereverteam.Enabled = False 
Me.partnerformatech.Enabled = False 
Me.partneribs.Enabled = False 
Me.partnericc.Enabled = False 
Me.partnermds.Enabled = False 
Me.partnermegatek.Enabled = False 
Me.partnernewhorizons.Enabled = False 
Me.partnernokia.Enabled = False 
Me.partnerpolycom.Enabled = False 
Me.partnerprocomix.Enabled = False 
Me.partnerpromethean.Enabled = False 
Me.partnersetssolutions.Enabled = False 
Me.partnerteletrade.Enabled = False 
Me.partnertriplec.Enabled = False 
Else: Me.contactemailopt.Enabled = True 
Me.contactfaxopt.Enabled = True 
Me.contactphoneopt.Enabled = True 
Me.contactpostalopt.Enabled = True 
Me.partneract.Enabled = True 
Me.partnerbmb.Enabled = True 
Me.partnerdell.Enabled = True 
Me.partneredm.Enabled = True 
Me.partnereverteam.Enabled = True 
Me.partnerformatech.Enabled = True 
Me.partneribs.Enabled = True 
Me.partnericc.Enabled = True 
Me.partnermds.Enabled = True 
Me.partnermegatek.Enabled = True 
Me.partnernewhorizons.Enabled = True 
Me.partnernokia.Enabled = True 
Me.partnerpolycom.Enabled = True 
Me.partnerprocomix.Enabled = True 
Me.partnerpromethean.Enabled = True 
Me.partnersetssolutions.Enabled = True 
Me.partnerteletrade.Enabled = True 
Me.partnertriplec.Enabled = True 

End If 

End Sub 

Private Sub itdecopt_Click() 

If Me.itdecopt.Value = 1 Then 
Me.qitfirstname.Enabled = False 
Me.qitlastname.Enabled = False 
Else: Me.qitfirstname.Enabled = True 
Me.qitlastname.Enabled = True 

End If 

End Sub 



Private Sub proceedBTN_Click() 

GlobalVar.flp = Me.qfirstname + Me.qlastname + Me.qmobile 

CurrentDb.Execute "INSERT INTO UserInfo(" _ 
& "FLP, FirstName, LastName, Company, JobTitle, PhoneNumber, Mobile, Email, Fax, " _ 
& "[IT-DEC], [IT-DEC-MAKER-FNAME], [IT-DEC-MAKER-LNAME], Contact, ContactMethodPhone,  " _ 
& "ContactMethodEmail, ContactMethodFax, ContactMethodPostal , AcquisitionTimeFrame,  Budget ) " _ 
& "VALUES('" & GlobalVar.flp & "','" & Me.qfirstname & "','" & Me.qlastname & "','" & Me.qcompany & "','" & Me.qjob & "','" & Me.qphone & "','" & Me.qmobile & "','" & Me.qemail & "','" _ 
    & Me.qfax & "','" & Me.itdecopt & "','" & Me.qitfirstname & "','" & Me.qitlastname  & "','" & Me.contactoption & "','" _ 
& Me.contactphoneopt & "','" & Me.contactemailopt & "','" & Me.contactfaxopt & "','" & Me.contactpostalopt & "','" & Me.acquisitionoption & "','" & Me.budgetoption & "');" 


CurrentDb.Execute "INSERT INTO UserPartners(" _ 
& "FLP, PartnerACT, PartnerBMB, PartnerEverTeam, " _ 
& "PartnerFormatech, PartnerICC, PartnerIBS, PartnerMegaTek, PartnerMDS, PartnerProcomix, PartnerSetsSolutions, " _ 
& "PartnerTripleC, PartnerNewHorizons, PartnerPromethean, PartnerTeletrade, PartnerNokia, PartnerPolycom, PartnerDell) " _ 
& "VALUES('" & GlobalVar.flp & "','" & Me.partneract & "','" & Me.partnerbmb & "','" _ 
& Me.partnereverteam & "','" & Me.partnerformatech & "','" & Me.partnericc & "','" & Me.partneribs & "','" & Me.partnermegatek & "','" & Me.partnermds & "','" _ 
& Me.partnerprocomix & "','" & Me.partnersetssolutions & "','" & Me.partnertriplec & "','" & Me.partnernewhorizons & "','" & Me.partnerpromethean & "','" _ 
& Me.partnerteletrade & "','" & Me.partnernokia & "','" & Me.partnerpolycom & "','" & Me.partnerdell & "');" 


CurrentDb.Execute "INSERT INTO UserProducts(" _ 
& "FLP, ProductsExchange,ProductsLyncServer, ProductsLync , ProductsOffice, ProductsSharePoint, ProductsSharePointInternet, ProductsWindowsServer, " _ 
& "ProductsSystemCenter, ProductsSQL, ProductsWindows7) " _ 
& "VALUES('" & GlobalVar.flp & "','" & Me.productexchange & "','" & Me.productlyncserver & "','" _ 
& Me.productlync & "','" & Me.productoffice & "','" & Me.productsharepoint & "','" & Me.productsharepointinternet & "','" & Me.productserver & "','" & Me.productsystemcenter & "','" _ 
& Me.productsql & "','" & Me.productwindows & "');" 

DoCmd.OpenForm "DayChoose", acNormal 
DoCmd.Close acForm, "UserInfo", acSaveYes 



End Sub 
+0

「1行のデータ」と言うとき、行内の1行または1行だけを受け入れるデータフィールドがあることを意味しますか?このような多くの問題は、Parametersコレクションを使用することで解消され、この習慣を採用することをお勧めします。私のテーブルには、名姓ジョブ をとり例えば –

+0

1行が、私はジョン・ジェイコブ開発者 を挿入したいと言うことができますし、私は挿入することが唯一の私が挿入しようとする最初の1つのJONヤコブの開発者や、何かを挿入します ジェームズレイチェルの哲学者その後はテーブルに挿入されずエラーは発生しませんが、両方とも他のテーブルに正常に挿入されます – aminet91

+0

コントロールのTagプロパティを使用してcontactoption値を設定し、コントロールを繰り返してタグプロパティをチェックし、その上に。これにより、コードの保守が容易になり、読みやすくなります。 – Fionnuala

答えて

0

のコードです、我々は少し深く掘ることができます。

関連する問題