Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


SQL i VBA i access

Postades av 2006-03-16 14:27:19 - Anders Larsson, i forum access, Tråden har 4 Kommentarer och lästs av 1015 personer

Har en liten knapp som man trycker på med koden

Private Sub Button_Add_To_Offer_Click()
Dim plus As Boolean
plus = True
DoCmd.RunSQL ("SELECT * FROM Kit")
End Sub

Får hela tiden ett felmeddelande med

"Run-time error '2342'"
"A RunSQL action requires an argument consisting of an SQL statement."

Det jag egentligen ville göra var att när man tryckte på knappen skulle den ändra ett fält i tabellen Kit som heter isOffered till true, men det funkade inte heller...


Svara

Sv: SQL i VBA i access

Postades av 2006-03-16 18:14:32 - Andreas Hillqvist

Vill du uppdatera en enskild post? Om formuläret är knytet till tabellen Kit, räcker det bara med:

Private Sub Button_Add_To_Offer_Click()
    Me("isOffered") = True
End Sub

Om du vill köra en fråga rekomenderas att du använder ADO. Detta underlättar om du skall migerera till SQL server. Följande kod utgår ifrån att du bara vill uppdatera isOffered för en post:
Private Sub Button_Add_To_Offer_Click()
Dim cmd As ADODB.Command
On Error GoTo Button_Add_To_Offer_Click_Err
    Set cmd = New ADODB.Command
    Set cmd.ActiveConnection = CurrentProject.Connection
    cmd.CommandText = "UPDATE Kit SET isOffered = True WHERE Id = @Id"
    cmd.Parameters.Append cmd.CreateParameter("@Id", adInteger, adParamInput, , Me("id"))
    cmd.Execute
    
Button_Add_To_Offer_Click_Exit:
    Exit Sub
    
Button_Add_To_Offer_Click_Err:
    MsgBox Err.Description, vbCritical
    Resume Button_Add_To_Offer_Click_Exit
    
End Sub

Du kan ersätta Me("id") med den källa/variable som innehåller id på den post du skall uppdatera. Undvik att använda docmd för databasoperationer då den använder DAO och är en översättning av macroinstruktioner.


Svara

Sv: SQL i VBA i access

Postades av 2006-03-16 23:16:58 - Bengt Carlsson

För övrigt kan du inte använda DoCmd.RunSQL tillsammans med SELECT. Det ska användas för INSERT- eller UPDATE-satser.
Se vidare i Hjälp om Visual Basic i Access.

/B


Svara

Sv:SQL i VBA i access

Postades av 2006-03-17 13:52:25 - Anders Larsson

Löst det med er förnäma hjälp - Tack för koden! jag förstår dock inte alla steg än men det klarnar väl efter hand...

<code>
Private Sub Button_Add_To_Offer_Click()
Dim cmd As ADODB.Command
On Error GoTo Button_Add_To_Offer_Click_Err

Set cmd = New ADODB.Command
Set cmd.ActiveConnection = CurrentProject.Connection
cmd.CommandText = "UPDATE Kit SET isOffered = True WHERE Id = " & Me.List_Kit
cmd.Parameters.Append cmd.CreateParameter(Me.List_Kit, adInteger, adParamInput, , Me.List_Kit)
cmd.Execute
Me.test_Sales_sub_offered_kit.Requery

Button_Add_To_Offer_Click_Exit:
Exit Sub

Button_Add_To_Offer_Click_Err:
MsgBox Err.Description, vbCritical
Resume Button_Add_To_Offer_Click_Exit


End Sub
</code>


Svara

Sv: SQL i VBA i access

Postades av 2006-03-17 16:21:19 - Andreas Hillqvist

Nästan rätt. Borde vara så här:

Private Sub Button_Add_To_Offer_Click()
    Dim cmd As ADODB.Command
    On Error GoTo Button_Add_To_Offer_Click_Err
    
    Set cmd = New ADODB.Command 'Instansierar ett command objekt
    Set cmd.ActiveConnection = CurrentProject.Connection 'Tilldelar comand objeten en anslutning att arbeta mot. Anslutningen är den till den öppna databasen.
    cmd.CommandText = "UPDATE Kit SET isOffered = True WHERE Id = @Id"  'SQL frågan där @Id är en platshållare för värdet
    cmd.Parameters.Append cmd.CreateParameter("@Id", adInteger, adParamInput, , List_Kit.Value) ' Lägger till parametern. Vi anger även här värdet för parametern.
    cmd.Execute 'Utför frågan

    test_Sales_sub_offered_kit.Requery 
    
Button_Add_To_Offer_Click_Exit:
    Exit Sub
    
Button_Add_To_Offer_Click_Err:
    MsgBox Err.Description, vbCritical
    Resume Button_Add_To_Offer_Click_Exit

End Sub


Svara

Nyligen

  • 08:28 Butiksskyltar: Hur upplever utbude
  • 22:31 Slappna av
  • 19:55 kick-off med fokus på hälsa?
  • 19:53 kick-off med fokus på hälsa?
  • 16:24 Föreslå en skönhetsklinik online
  • 16:23 Föreslå en skönhetsklinik online
  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 768
27 960
271 761
944
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies