Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 13 su 13
  1. #11
    Utente di HTML.it
    Registrato dal
    Dec 2004
    Messaggi
    13
    Perfetto... grazie branjar ... ma un modo + semplice per farlo con

    codice:
    appdb.execute "Prova TEXT(30) ALLOWZEROLENGHT=TRUE"
    non esiste? quell'esempio su MSDN l'avevo visto ma l'ho scartato per evitare di fare quei procedimenti.... Se non c'è niente però sono costretto ad usare quei metodi ...

    Tu cosa ne pensi?

  2. #12
    Utente di HTML.it L'avatar di Brainjar
    Registrato dal
    Nov 2004
    Messaggi
    1,162
    Il disegno della base dati è una fase importante dell'intero sviluppo di una applicazione. Bisogna quindi studiarne bene la struttura e le relazioni tra tabelle e campi. Ci sono poi le regole di normalizzazione che, se seguite, evitano la ridondanza dei dati e la loro inconsistenza. Una volta disegnato il db,la sua creazione fisica richiede una certa attenzione e l'approccio programmatico può rappresentare un metodo sicuro per creare quanto effettivamente progettato. La routine di creazione della base dati, poi, dovrebbe essere sempre inclusa in un applicativo. Al primo lancio del programma si dovrebbe testare l'esistenza o meno del db. Crearlo se non trovato e, se necessario, inserire i valori di partenza di alcune tabelle.
    Il tempo impiegato per codificare una procedura di creazione db con approccio programmatico, quindi, è ben speso.

    Potresti usare un approccio 'misto'. Prima ti crei il db con istruzioni SQL, poi vai a settare in modo programmatico i singoli campi.

    codice:
    Dim dbs As Database
    Dim tdf As TableDef
    Dim fld As Field
    
    Set dbs = OpenDatabase(<pathname_del_db_che_hai_appena_creato>)
    Set tdf = dbs.TableDefs(<nome_della_tabella>)
    tdf.Fields(<nome_del_campo_che_vuoi_modificare).AllowZeroLength = True
    dbs.Close
    Ciao.

  3. #13
    Utente di HTML.it
    Registrato dal
    Dec 2004
    Messaggi
    13
    ok risolto.... cmq grazie brainjar.. ho seguito il tuo consiglio anche se ho modificato qualcosa usando questo metodo:

    Creo sul Modulo questa sub

    codice:
    Sub FixAllowZeroLength(td As TableDef)
    Dim F As Field
      For Each F In td.Fields
        If F.Type = dbText Or F.Type = dbMemo Then
          F.AllowZeroLength = 0  ' reasserting the default value
        End If
      Next F
    End Sub
    creo la tabella
    codice:
    db.Execute "CREATE TABLE Table1 (Description TEXT(50))"
    e la richiamo con questa:
    codice:
    FixAllowZeroLength db!Table1
    Grazie a tutti e vi auguro un buon natale....

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.