Visualizzazione dei risultati da 1 a 6 su 6

Discussione: [Access2007]Recordset

  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2009
    Messaggi
    40

    [Access2007]Recordset

    Ho un pezzo in codice in cui uso un recordset,ma il problema è che mi da sempre errori sulla prima riga in cui utilizzo il recordset..devo configurare qualcosa?magari nelle proprietà del db?

    Mi potreste postare anche una guida su come funziona recordset?

    grazie mille!

  2. #2
    Se inserisci un po' del tuo listato forse posso aiutarti.

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2009
    Messaggi
    40
    questo è il codice che genera errore:

    Private Sub Form_Load()
    DoCmd.GoToRecord , , acNewRec

    Dim con As ADODB.Connection
    Dim rs As ADODB.Recordset

    Set con = New ADODB.Connection
    Set rs = New ADODB.Recordset

    Dim strCon As String
    strCon = Application.CurrentProject.Connection
    con.Open strCon

    strSql = " SELECT Bene_Id_num" _
    & " FROM Bene" _
    & " WHERE Bene_Etichetta_num = 'et'"

    rs.Open strSql, con

    If (rs.RecordCount = 0) Then
    MsgBox ("Errore!")
    Else

    prova.Text = rs.Fields("Bene_Id_num").Value

    End If


    rs.ActiveConnection = Nothing
    rs.Close
    con.Close


    End Sub


    l'errore viene generato nella riga

    prova.Text = rs.Fields("Bene_Id_num").Value


    il debug segnala errore di run-time 3021: Il record corrente corrisponde all'inizio o alla fine del file oppure è stato eliminato. Per eseguire l'operazione richiesta è necessario disporre di un record corrente.

    aiutatemi!!!

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2009
    Messaggi
    40
    una piccola precisazione per chi tenterà di risolvere questo problema:
    dopo svariate prove ho potuto constatare che il problema risiede in un errore precedente,presumo sia un errorre di connessione al database, in quanto rs.RecordCount mi restituisce valore -1

    un'altra cosa, nella clausula WHERE

    WHERE Bene_Etichetta_num = 'et'

    et è una variabile globale definita in precedenza, x cui la stringa viene corretta in

    WHERE Bene_Etichetta_num LIKE 'et'

    giusto???

  5. #5
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Ma se et e' una variabile, non puoi inserirla cosi' nella frase ...

    Se il campo e' di tipo testo, deve essere

    & " WHERE Bene_Etichetta_num = '" & et & "'"

    Se il campo e' numerico, non dovrai inserire i singoli apici e quindi

    & " WHERE Bene_Etichetta_num = " & et
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  6. #6
    Utente di HTML.it
    Registrato dal
    Feb 2009
    Messaggi
    40
    ah ok..infatti mi sembrava non poco strana come stringa...
    il problema cmq persiste!il rs.RecordCount restituisce ancora -1
    Ho dei seri dubbi sulla connessione al db: come posso effettuare il collegamento tra vba e Access 2007????

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