Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2001
    Messaggi
    75

    visual basic - non trovo dove sbaglio

    Salve,
    ci sto sopra da un po, ma non riesco a vedere l'errore in questo codice.
    Lo scopo è: in una applicazione per ricette di cucina, data una flexgrid in cui l'utente inserisce gli ingredienti, gli stessi devono andare a finire in una tabella di database, ma prima viene eseguito un controllo per determinare se gli ingredienti sono già presenti o no (chiaramente se sono presenti non vengono inseriti).
    L'errore che mi da è sull'oggetto miors.Eof, dice che non è impostato, ma non dovrebbe dipendere da questo visto che mi sembra sia correttamente impostato (nella stessa pagina ci sono altre connessioni al db che funzionano perfettamente)



    Dim Qinserimentoingrediente As String

    Qinserimentoingrediente = "INSERT INTO ingrediente (descrizione) VALUES ('" & ingrediente & "')"
    Set miodb = OpenDatabase(App.Path & "\cucina.mdb")

    Set miors = miodb.OpenRecordset("ingrediente")
    Dim ingredienteesiste As Boolean

    For numeroingredienti = Me.MSHFIngredienti.FixedRows To Me.MSHFIngredienti.Rows - 1
    ingrediente = Me.MSHFIngredienti.TextMatrix(numeroingredienti, 0)
    MsgBox numeroingredienti
    ' legge il numero degli ingredienti correttamente
    MsgBox ingrediente
    'legge ingrediente correttamente
    If miors.EOF = False Then
    If ingrediente = miors.Fields!descrizione.Value Then
    ingredienteesiste = True
    Else
    ingredienteesiste = False
    miors.MoveNext
    End If
    End If

    Next

    If ingredienteesiste = False Then
    miodb.Execute (Qinserimentoingrediente)
    miors.Close
    End If


    Grazie a chiunque mi risponde e saluti

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2001
    Messaggi
    75

    rettifica problema

    Il problema di prima sembra si sia risolto semplicemene spostanto il for prima della query... e almeno questo va
    ora però non mi fa il controllo, cioè inserisce l'ingrediente anche se nella tabella ce n'è un altro uguale.

    Chiedo quindi ancora aiuto a voi

    Grazie


    For numeroingredienti = Me.MSHFIngredienti.FixedRows To Me.MSHFIngredienti.Rows - 1

    Qinserimentoingrediente = "INSERT INTO ingrediente (descrizione) VALUES ('" & ingrediente & "')"
    Set miodb = OpenDatabase(App.Path & "\cucina.mdb")

    Set miors = miodb.OpenRecordset("ingrediente")
    Dim ingredienteesiste As Boolean


    ingrediente = Me.MSHFIngredienti.TextMatrix(numeroingredienti, 0)
    MsgBox numeroingredienti
    MsgBox ingrediente

    If miors.EOF = False Then
    If ingrediente = miors.Fields!descrizione.Value Then
    ingredienteesiste = True

    Else
    ingredienteesiste = False
    miors.MoveNext

    End If
    End If

    Next
    If ingredienteesiste = False Then
    miodb.Execute (Qinserimentoingrediente)
    miors.Close
    End If

  3. #3
    per rendere il codice leggibile utilizza il tag apposito [*CODE]codice[*/CODE] (senza asterischi) e ricorda anche di specificare la versione del linguaggio che utilizzi

    05.08.2005 - by alka
    Auguri all'angelo custode dei moderatori.

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.