Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    [ACCESS + vba] Esecuzione di una query

    Ho la necessità di fare delle cose particolari con delle query, percio' ho deciso di lanciarle da vbscript, e ho fatto così:
    codice:
    Private Sub Procedi_Click()
    ' SUB CHE GENERA LA VENDITA
    ' SUB CHE GENERA LA VENDITA
    Dim dbgesticars As Database
    Dim vendita As Recordset
    Dim query As String
    Dim max As String
    Dim numeroauto As Integer
    Set dbgesticars = CurrentDb
        ' Se stiamo gestendo una bolla...
        If CasellaCombinata75.Value = 2 Then
            numeroauto = IdAuto
            query = "select * form magazzino where idveicolo=4;"
            Set vendita = dbgesticars.OpenRecordset(query, dbOpenDynaset)
            vendita.Fields("venduta") = 1
            vendita.Close
            DoCmd.GoToRecord , , acNewRec
            DoCmd.Close
        Else
       ecc ecc ecc
    Fatto sta che mi da l'errore di runtime 3075 sulla riga che esegue la query (set vendita ecc ecc) dicendomi che manca un operatore. Qualcuno può darmi qualche hint?

    NOTA: dichiaro le variabili perchè ho messo un bell'option explicit nella sub generale (buona abitudine di programmazione...)
    Grazie.
    WWW.UTMIB.COM site and forum administrator
    www.utmib.com/forum
    Unreal Tournament Men In Black Clan

  2. #2
    Inserisco qui la risposta al problema... sperando possa essere utile a qualcuno per non perdere tempo su queste cavolate.

    1) sui riferimenti controllare che la DAO abbia priorità massima
    2) dichiarare recordset e db come DAO.database e DAO.recordset tanto per non creare equivoci (specie se avete abilitato anche la ADO o le activeX
    3)
    codice:
    querysql = "Select * FROM Magazzino WHERE(IdVeicolo=4)"
            Set vendita = dbgesticars.OpenRecordset(querysql, dbOpenDynaset)
            vendita.Edit
            vendita.Fields("venduta") = 1
            vendita.Update
            vendita.Close
    Notare le parentesi che chiudono il where... pare impossibile...
    Riferimenti per chi vuole rompersi il cranio:
    http://support.microsoft.com/default...b;en-us;194374
    http://support.microsoft.com/default...b;en-us;170149

    ciao
    WWW.UTMIB.COM site and forum administrator
    www.utmib.com/forum
    Unreal Tournament Men In Black Clan

  3. #3
    Utente di HTML.it L'avatar di fabio309
    Registrato dal
    Oct 2002
    Messaggi
    1,918
    Originariamente inviato da feua
    Notare le parentesi che chiudono il where... pare impossibile...
    non sono le parentesi che ti fanno funzionare il codice ma
    query = "select * form magazzino where idveicolo=4;"
    querysql = "Select * FROM Magazzino WHERE(IdVeicolo=4)"

    oltre all'istruzione
    vendita.Edit
    che è necessaria

  4. #4
    Ti ringrazio... ho perso 2 giorni per questa cavolata...

    eppure:
    1) le specifiche dell'sql non prevedono le parentesi dopo il where se la condizione è unica
    2) Ma windows non era case insensitive? Bill cosa mi combini!!!
    WWW.UTMIB.COM site and forum administrator
    www.utmib.com/forum
    Unreal Tournament Men In Black Clan

  5. #5
    Utente di HTML.it L'avatar di fabio309
    Registrato dal
    Oct 2002
    Messaggi
    1,918
    hai scritto form al posto di from
    le parentesi in access non sono necessarie

  6. #6
    mi sotterro dalla vergogna
    WWW.UTMIB.COM site and forum administrator
    www.utmib.com/forum
    Unreal Tournament Men In Black Clan

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    669
    Le parentesi non sono necessarie però è meglio se non metti quel punto e virgola alla fine della stringa SQL. è conseigliabile utilizzare e parentesi quadre [] solo quando i nomi dei campi o della tabella contengono spazi.


    query = "select * from magazzino where idveicolo=4"

    ciao

  8. #8
    Grazie a tutti dei consigli.

    Ora mi sto lanciando anche nelle query parametriche, e va tutto bene. Grazie ancora.
    WWW.UTMIB.COM site and forum administrator
    www.utmib.com/forum
    Unreal Tournament Men In Black Clan

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.