Pagina 1 di 4 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 33
  1. #1

    Errore RecordCount con left join

    Ciao.
    Ho una select da 3 tabelel, che funziona(va)... l'ho modificata per far si che mi estragga dei dati ache da un'altra tabella, nella quale possono o no esserci dati... ho quindi messo una left join.
    Provata da db (Access) la query funziona correttamente.
    Messa nel codice ASP, mi restituisce il seguente errore:

    codice:
    Tipo di errore:
    Microsoft Cursor Engine (0x80004005)
    Il provider di dati o un altro servizio ha restituito uno stato E_FAIL.
    /pagina.asp, line 43

    e alla linea 43 c'è il seguente codice:

    codice:
    reccount = objRs.recordcount
    Se commento la left join funziona, se la rimetto mi da questo errore...
    Visto che la query in se per se funziona, da cosa potrebbe dipendere?
    La connessione non supporta la left join? Possibile?

    Questa la stringa di connessione:

    codice:
    Conne.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & server.MapPath("\database.mdb")
    Avete qualche idea?
    Grazie.
    Ciao.

  2. #2

  3. #3
    Eccola:

    codice:
    SELECT ann.*, pro.*, reg.*, cat.* ,imm.IdIA
    FROM (((TAB1 ann 
    INNER JOIN TAB2 cat ON ann.IdC = cat.IdC) 
    INNER JOIN TAB3 pro ON ann.IdP = pro.IdP) 
    INNER JOIN TAB4 reg ON ann.IdR = Reg.IdR) 
    LEFT JOIN TAB5 imm ON ann.IdA = imm.IdA
    WHERE Valido = 1
    Come dicevo, da db Access funziona correttamente, quindi la query dovrebbe essere OK.
    Da codice ASP se elimino la riga con la Left Join (e ovviemante dalla Select ",imm.IdIA) tutto funziona correttamente...

    Ciao.

  4. #4
    Hai avuto modo di dare un'occhio alla query?
    Ti sei fatto qualche idea?
    C'è qualcuno che può darmi qualche indicazione?
    Grazie.
    Ciao.

  5. #5
    invece di LEFT JOIN prova ad usare LEFT OUTER JOIN o OUTER JOIN

  6. #6
    Originariamente inviato da optime
    invece di LEFT JOIN prova ad usare LEFT OUTER JOIN o OUTER JOIN
    Non cambia niente, sempre lo stesso errore.

    Qualche altra idea?
    Ciao.

  7. #7

  8. #8
    Ho fatto un po' di prove, ma l'errore è sempre questo:

    codice:
    Tipo di errore:
    Microsoft JET Database Engine (0x80040E4D)
    Impossibile avviare l'applicazione. Il file di informazioni sul gruppo di lavoro è mancante o aperto in modo esclusivo da un altro utente.
    Ho provato mettendo (magari sbaglio io qualcosa):
    Conne.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\percorso\database.mdb;Jet OLEDB:System Database=system.mdw;User ID=;Password=lapassword;"

    Conne.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & server.MapPath("\percorso\database.mdb")&";User Id=;Password=lapassword;"

    Conne.Open "Provider=Microsoft.Jet.OLEDB.4.0;Password=lapassw ord;User ID=;Data Source=C:\percorso\database.mdb;Persist Security Info=True"

    Conne.Open "Provider=Microsoft.Jet.OLEDB.4.0;Password=lapassw ord;" & server.MapPath("\percorso\database.mdb") &";Persist Security Info=True"


    Ho sbagliato io a scrivere qualcosa?
    Ciao.

  9. #9
    ma il tuo db è protetto da password?

  10. #10
    Si, nella connection iniziale non l'avevo scritto... la stringa di connessione originale è la seguente:

    codice:
    Conne.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & server.MapPath("\percorso\database.mdb"),"","password"
    Ciao

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 © 2026 vBulletin Solutions, Inc. All rights reserved.