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

    [vb6] difficoltà con l'addnew

    Sinteticamente: il codice è questo.

    ******

    Private Sub CmdAddVolume_Click()

    With Me.Adodc2.Recordset

    .AddNew
    .Fields("titolo") = Trim(Me.TxtTitolo.Text)
    .Fields("editore") = Trim(Me.TxtEditore.Text)
    .Fields("isbn") = Trim(Me.TxtIsbn.Text)
    .Fields("data_acquisto") = Trim(Me.TxtData.Text)
    .Fields("legislatura") = Trim(Me.TxtLegislatura.Text)
    .Fields("id_tipo_vol") = Trim(Me.Label1.Caption)

    .Update
    .Requery
    End With
    Me.TxtData.Text = ""
    Me.TxtEditore.Text = ""
    Me.TxtIsbn.Text = ""
    Me.TxtLegislatura.Text = ""
    Me.TxtTitolo.Text = ""
    Me.Combo1.Text = ""
    End Sub

    ******

    l'errore mi viene generato all'altezza di .AddNew e sarebbe Object Variable or With block variable not set.
    Dove sbaglio?

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Puoi aggiungere un record al recordset con l'AddNew solamente se il recordset e' stato creato in precedenza.

    Se usi l'ADODC (che sconsiglio) devi avere settato il Recordsource dell'ADODC e fatto un Refresh del controllo ...

  3. #3
    Ho cambiato qualcosa nel codice (ora non posso postarlo però perché ce l'ho su un altro pc) e funziona, ma rimane un problema che ha dell'assurdo:

    se i campi sono più lunghi di un certo tanto, non mi inserisce la stringa o dà errore! VVoVe:

    c'è da dire che il mio dbms è MySql, per cui ho ragione di sospettare di possibili incompatibilità tra questo e VB6? Perché non so spiegarmi la cosa altrimenti, dal momento che se inserisco la stringa da un manager per database tipo DbTools o PhpMyAdmin, l'inserimento funziona in maniera perfetta...

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Non credo ...

    Pero' dovresti dare maggiori dettagli per risolvere il problema ...

  5. #5
    Ok, spero di essere esauriente.

    Il mio DBMS è MySql, interfacciato alla mia applicazione mediante ODBC, per cui ho dovuto installare MyODBC, vale a dire il driver per MySql.

    All'atto di inserimento, questo ODBC è richiamato in un AdoDC che ha come recordsource un semplicissimo select * from tabella.

    L'errore non è più quello generato a inizio discussione, ma il programma ora si "stoppa" se clicco sul pulsante di inserimento dopo aver digitato valori abbastanza lunghi in una delle text in questione. Il punto di errore va puntualmente a segnare il campo "incriminato", vale a dire quello che, secondo lui, è troppo lungo.

    I campi in questione sono LongText, per cui non c'è pericolo di sforare con la lunghezza.

    Proprio non ho idea di cosa possa essere se non di un'incompatibilità di qualche tipo tra VB6 e MySQL.

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.