Visualizzazione dei risultati da 1 a 4 su 4

Discussione: VB e DataBase

  1. #1

    VB e DataBase

    Ciao a tutti ragazzi...sto incontrando una serie del tutto inaspettata di problemi lavorando sui DataBase, cose abbastanza strane che da sola non saprei risolvere. qualcuno puo darmi una mano grazie!!
    Adesso in particolare ho due problemi (mha!)

    1) Per quanto riguarda la connessione ad un DB, allora ho gia fatto la connessione ad un DB, ho solo fatto copia e incolla ed ho cambiato nome alle variabili, ma questa non funziona (misteri), il codice è questo:

    codice:
        'Collego le due variabili ai relativi oggetti
       Set CONN_Servizio = New ADODB.Connection
       Set RCDS_Servizio = New ADODB.Recordset
    'Fine
    
    'Istanzio l'oggetto Connessione al Database
          With CONN_Servizio
          .ConnectionString = "Provider = Microsoft.Jet.OleDB.4.0;" & "Data source = C:\Documents and Settings\Amministratore\Desktop\tucci\Programma Definitivo\tucci.mdb"
                              'nella prima riga si specifica il provider
                              'nella seconda il percoRCDS_Clientio al db
          .ConnectionTimeout = 5 'numero dei secondi di timeout
          .CursorLocation = adUseClient 'tipo di cursore
          .Mode = adModeShareDenyNone 'nessuna limitazione
          .Open 'apertura ricordarsi di chiuderla
       End With
       With RCDS_Servizio
          .ActiveConnection = CONN_Servizio ' imposta a che connessione si riferisce
          .LockType = adLockOptimistic ' imposta il tipo di lock
       End With
    'Fine
    RCDS_Servizio.Open "SELECT DISTINCT 3 FROM Cliente"
    'Collego il puntatore
    
    If RCDS_Servizio.RecordCount <> 0 Then
    While Not RCDS_Servizio.EOF 'continua finchè non è la fine del file
        Cliente_Tipo.AddItem = "" & RCDS_Servizio("3")
        RCDS_Servizio.MoveNext 'Mi sposta avanti di un record
    Wend 'fine del ciclo While
    End If
    RCDS_Servizio.MoveFirst
    Aggiorna_Clienti
    
    RCDS_Servizio.Close
    CONN_Servizio.Close
    ecco, questo mi da errore in questa riga
    Cliente_Tipo.AddItem = "" & RCDS_Servizio("3")
    dice: "Argomento non facoltativo"
    Qualcuno saprebbe aiutarmi?????

    2) Nell'inserimento dei dati è successa una cosa abbastanza strana, alora, il codice è questo.....

    codice:
    RCDS_Clienti.AddNew
        For I = 0 To 2
            RCDS_Clienti.Fields(I) = Cliente_Testo(I).Text
        Next I
        RCDS_Clienti.Fields(I + 1) = Cliente_Tipo.Text
        For I = 4 To 5
            RCDS_Clienti.Fields(I) = Cliente_Testo(I).Text
        Next I
        RCDS_Clienti.Fields(I + 1) = Cliente_Cat.Text
        For I = 7 To 15
            RCDS_Clienti.Fields(I) = Cliente_Testo(I).Text
        Next I
    E mi da questo errore "Si sono verificati errori in una operazione composta da piu passaggi".
    Ma che cavolo vuol dire? COn il debug vedo che è arrivato al 13. Ora mi chiedo, se i campi sono tutti IDENTICI che motiva ha di esistere questo errore??

    Qualcuno mi saprebbe aiutare??



    Grazie infinite a tutti
    Paperina :-)

  2. #2
    Mah, ad occhio mi sembra un problema di ambiguità tra i nomi dei campi della tabella (che se non ho capito male sono dei numeri) e gli indici della collection Fields che possono essere utilizzati per accedere ai campi della tabella. Per risolvere l'ambiguità, nel codice devi aggiungere le parentesi quadrate al nome del campo.

    Innanzitutto cambia la query:
    codice:
    RCDS_Servizio.Open "SELECT DISTINCT Cliente.[3] FROM Cliente"
    Per il primo errore prova a scrivere:
    codice:
    Cliente_Tipo.AddItem = "" & RCDS_Servizio("[3]").Value
    Per il secondo errore:
    codice:
    For I = 0 To 2
        RCDS_Clienti.Fields("[" & I & "]").Value = Cliente_Testo(I).Text
    Next I
    Ciao
    Chi non cerca trova.

  3. #3
    Originariamente inviato da tas
    Mah, ad occhio mi sembra un problema di ambiguità tra i nomi dei campi della tabella (che se non ho capito male sono dei numeri) e gli indici della collection Fields che possono essere utilizzati per accedere ai campi della tabella. Per risolvere l'ambiguità, nel codice devi aggiungere le parentesi quadrate al nome del campo.

    Innanzitutto cambia la query:
    codice:
    RCDS_Servizio.Open "SELECT DISTINCT Cliente.[3] FROM Cliente"
    Per il primo errore prova a scrivere:
    codice:
    Cliente_Tipo.AddItem = "" & RCDS_Servizio("[3]").Value
    Per il secondo errore:
    codice:
    For I = 0 To 2
        RCDS_Clienti.Fields("[" & I & "]").Value = Cliente_Testo(I).Text
    Next I
    Ciao
    Grazie per la tua risposta, solo che:
    1) Il primo errore resta assolutamente invariato.
    2) Il secondo dice "impossibile trovare l'iggetto nell'insieme corrispondente o al numero richiesto.

    Bho!!
    Paperina :-)

  4. #4
    prova a mettere un alias al campo

    SELECT DISTINCT 3 as TRE FROM Cliente

    e riferiti ad esso così rs!tre
    Vascello fantasma dei mentecatti nonchè baronetto della scara corona alcolica, piccolo spuccello di pezza dislessico e ubriaco- Colui che ha modificato l'orribile scritta - Gran Evacuatore Mentecatto - Tristo Mietitore Mentecatto chi usa uTonter danneggia anche te

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.