28. februar 2002 - 22:52Der er
17 kommentarer og 1 løsning
sæt true med cmd
Jeg har en tabel, der hedder TblSamElev, som bl.a. indeholder feltet "henlagt", som er formateret til datatypen ja/nej. På den tilhørende formular, FormSamElev, kan man se indholdet af tabellen i en liste, Liste0, og en knap, cmdArkiv. Knappen skal sætte værdien i afkrydsningsfeltet til true, og hvordan gør jeg det?? Jeg har det her ind til videre:
Me!Liste0.RowSource = "SELECT Henlagt FROM TblSamElev WHERE By ='" & Me!LstBy & "'" Er det helt galt?
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Private Sub cmdArkiv_Click() If Not Me.NewRecord Then Dim x As Boolean Dim strSQL As String x = True strSQL = "UPDATE tblSamelev SET henlagt = " & x & _ " WHERE id = " & Me.Liste0 CurrentProject.Connection.Execute strSQL Me.Requery End If End Sub
If Not Me.NewRecord Then Dim x As Boolean Dim strSQL As String x = Not DLookup("henlagt", "tblSamelev", "id = " & Me.Liste0) strSQL = "UPDATE tblSamelev SET henlagt = " & x & _ " WHERE id = " & Me.Liste0 CurrentProject.Connection.Execute strSQL Me.Refresh End If
med den her bliver feltet henlagt modsat af hvad det var før.
jsl-> du burde bare kunne skrive: Private Sub cmdArkiv_Click() docmd.setwarnings false docmd.RunSQL "Update tblSamElev Set Henlagt = True Where [ID] = " & Me!Liste0 docmd.Setwarnings true End Sub
Koden forudsætter (som nih's) at du har et nøglefelt i din liste og at egenskaben "Bundet kolonne" er sat til denne kolonne. Udskift [ID] med navnet på dit nøglefelt.
'docmd.RunSQL' og 'CurrentProject.Connection.Execute' er der nogen forskel, udover at vi som besvarer spørgsmål ikke skal tænke på om spørgeren bruger ADO eller DAO.
Jeg har siddet her til morgen, og prøvet alle metoder, men jeg kan ikke få nogle af dem til at virke. - selv ikke engang SQL sætningen, selvom den nok skulle være til at forstå. Mit ID felt hedder CPR. (Jeg bruger Access 97).
Me!Liste0.RowSource = "SELECT cpr, Henlagt FROM TblSamElev WHERE By ='" & Me!LstBy & "'" me.list0.requery
Nu har du cprnr med i listen. Sæt listens egenskab: bundetkollone = 1 antalkolloner = 2 kollonebredde = 0;3
Knappen: Private Sub cmdArkiv_Click() If Not Me.NewRecord Then Dim x As Boolean Dim strSQL As String x = True strSQL = "UPDATE tblSamelev SET henlagt = " & x & _ " WHERE cpr = " & Me.Liste0 docmd.runsql strSQL Me.Requery End If End Sub
Hvis dit CPR-nr er af datatypen Tekst, så skal min kode se således ud: Private Sub cmdArkiv_Click() docmd.setwarnings false docmd.RunSQL "Update tblSamElev Set Henlagt = True Where [CPR] = '" & Me!Liste0 & "'" docmd.Setwarnings true End Sub
Nu har jeg langt om længe fået det til at virke. Jeg oprettede en ny formular og vupti, så virkede det hele. Der må have været en fejl i den første formular..... Når jeg udfører kommandoen, så kan jeg først se rettelsen efter at have genstarte formularen. Hvordan får jeg listen til at opdatere med det samme, jeg udfører kommandoen?
Jeg bruger den her: Private Sub cmdArkiv_Click() If Not Me.NewRecord Then Dim x As Boolean Dim strSQL As String x = True strSQL = "UPDATE tblSamelev SET henlagt = " & x & _ " WHERE cpr = " & Me.Liste0 docmd.runsql strSQL Me.Requery End If End Sub
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.