Vil du gerne checke at der ikek allerede findes en række med værdien i samme tabel? I så fald er der ikek andet for end at køre en SELECT-forespørgsel for at se om en sådan række findes først.
Havde det været en "rigtig" relationel database, kunne man tvinge databasen til at gøre arbejdet ved at indføre en begrænsning.
rs.movefirst Do While NOT rs.eof If rs.employees = text1.text then exit sub end if Loop db.Execute ("UPDATE tblClient SET employees=" & Val(Text1.Text)
If db.Execute("SELECT employees FROM tblClient WHERE employees = " & Val(Text1.Text)).EOF Then db.Execute "UPDATE tblClient SET employees=" & Val(Text1.Text) End If
Hmm ... Det blir forkert... Vet ikke helt hva jeg gjør galt (?)
Bruger:
Private ws As Workspace Private db As Database Private rs As Recordset
Private Sub Form_Load()
Set ws = Workspaces(0) Set db = ws.OpenDatabase("f:\usr.mdb") Set rs = db.OpenRecordset("SELECT * FROM tblClient") If Not rs.EOF Then rs.MoveFirst Do While Not rs.EOF Combo1.AddItem rs!CompanyName rs.MoveNext Loop End If
End Sub
Skal ha: db.Execute ("UPDATE tblClient SET employees='" & txtEmployees.Text & "'") 'men ... hvis txtEmployees.Text er fra før i rs!employees 'Skal ha en MsgBox og Exit Sub
navn: 'employees' kan 'forvirre' lidt her maybe / brugernavn / måste bli mer korrekt,
Jeg skal ha en:
Private Sub Command1_Click() db.Execute ("UPDATE tblClient SET employees=" & Val(txtEmployees.Text) _ & ", address='" & Text2.Text & "', type=" & Val(Text3.Text) _ & " where companyname='" & Combo1.Text & "'") End Sub Men,... den ska også tjekke før 'UPDATE' at teksten ikke findst i andre records. Hvis teksten findst så ska den !ikke skrive til (oppdatere) felten Men gi MsgBox at: Dette (navn) findst og bruker må velge et andet. Exit Sub 'Avslutte
Også fx brukes i: Database.Execute "INSERT INTO tblClient (companyname, brugernavn, address,) VALUES ('" & Text1.Text & "', '" & txtBrugernavn.text & "', '" & Text2.text & "');" ' for at finde at 'brugernavn' er i brug.
Private Sub Command1_Click() Set ws = Workspaces(0) Set db = ws.OpenDatabase("f:\usr.mdb") Set rs = db.OpenRecordset("SELECT * FROM tblClient") If Not rs.EOF Then rs.movefirst do while not rs.eof If rs.companyname = combo1.text then exit sub end if loop db.Execute ("UPDATE tblClient SET employees=" & Val(txtEmployees.Text) _ & ", address='" & Text2.Text & "', type=" & Val(Text3.Text) _ & " where companyname='" & Combo1.Text & "'") End Sub
Private Sub Command1_Click() Set ws = Workspaces(0) Set db = ws.OpenDatabase("f:\usr.mdb") Set rs = db.OpenRecordset("SELECT * FROM tblClient") If Not rs.EOF Then rs.movefirst do while not rs.eof If rs.companyname = combo1.text then exit sub end if loop db.Execute "INSERT INTO tblClient (employees,address,type) VALUES ('" & txtEmployees.Text & "' , '" & Text2.Text & "' , '" & Text3.Text & "');" end sub
Private Sub Command1_Click() Set ws = Workspaces(0) Set db = ws.OpenDatabase("f:\usr.mdb") Set rs = db.OpenRecordset("SELECT * FROM tblClient") If Not rs.EOF Then rs.movefirst do while not rs.eof If rs.companyname = combo1.text then exit sub end if loop Set ws = Workspaces(0) Set db = ws.OpenDatabase("f:\usr.mdb") db.Execute "INSERT INTO tblClient (employees,address,type) VALUES ('" & txtEmployees.Text & "' , '" & Text2.Text & "' , '" & Text3.Text & "');" end sub
Terra takker for alt forsøg og slukker points itself :) Ha en fin kveld.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.