+ Rispondi al Thread
Visualizzazione dei risultati da 1 a 3 su 3

Discussione: Creazione di un Database in Access con un Campo impostato Lunghezza Zero

  1. #1
    L'avatar di Maury63
    Maury63 non è in linea Scolaretto
    Luogo
    Torino
    Post
    237

    Creazione di un Database in Access con un Campo impostato Lunghezza Zero

    Salve a tutti
    ho creato questo codice che mi crea un database con relative Tabelle
    io non riesco a inserire tramite codice un Campo impostato Lunghezza Zero
    mi spiego meglio
    nel campo "s_PathImage" vorrei che sul database mi crei il Campo impostato Lunghezza Zero
    questo perchè ai fini pratici della gestione di questo Programma non sempre è possibile inserire la foto su database

    s'è qualcuno ha un suggerimento da condividere, Ringrazio

    codice:
    Public Function Nuovo_Archivio()
    
    Dim wrkPredefinita As Workspace
    Dim dbsNuovo As Database
    ' Ottiene l'area di lavoro predefinita.
    Set wrkPredefinita = DBEngine.Workspaces(0)
    
    
    NuovoArchivio = NuovoArchivio & ".mdb"
    ' Crea un nuovo database cifrato con l'ordine di confronto specificato.
    Set dbsNuovo = wrkPredefinita.CreateDatabase(App.Path & "\" & NuovoArchivio, dbLangGeneral, dbEncrypt)
    dbsNuovo.Close
    'Esempio di metodo CreateTableDef
    'Nel seguente esempio viene creato un nuovo oggetto TableDef nel database NuovoArchivio.
    Dim dbsCreaTabella As Database
    Dim tdfNuovo As TableDef
    Dim prpCiclo As Property
    Set dbsCreaTabella = OpenDatabase(App.Path & "\" & NuovoArchivio)
    
    NomeTabella = "ArchivioOggetti"
    '******************************** Crea Database  Archivio Oggetti **********************
    If Sottoprovenienza = "Nuovo Archivio" Then
    Set tdfNuovo = dbsCreaTabella.CreateTableDef(NomeTabella)
    With tdfNuovo
    
    .Fields.Append .CreateField("Oggetto", dbText)
    .Fields.Append .CreateField("Scaffale", dbText)
    .Fields.Append .CreateField("Condizione", dbText)
    .Fields.Append .CreateField("Descrizione", dbMemo)
    .Fields.Append .CreateField("s_PathImage", dbText)
    
    Debug.Print "Properties del nuovo oggetto TableDef " & "prima di accodare all'insieme:"
    For Each prpCiclo In .Properties
    On Error Resume Next
    If prpCiclo <> "" Then Debug.Print "  " & prpCiclo.Name & " = " & prpCiclo
    On Error GoTo 0
    Next prpCiclo
    dbsCreaTabella.TableDefs.Append tdfNuovo
    Debug.Print "Properties del nuovo oggetto TableDef " & "dopo aver accodato all'insieme:"
    End With
    GoTo Fine
    End If
    Fine:
    End Function
    Il vero Amico rimane tale Soprattutto al momento del Bisogno

  2. #2
    L'avatar di Maury63
    Maury63 non è in linea Scolaretto
    Luogo
    Torino
    Post
    237
    dopo varie letture e ricerche ho trovato la soluzione al mio Problema
    lo Posto così può servire a Qualcuno che deve risolvere le stesse problema che ho avuto io

    codice:
    Dim wrkPredefinita As Workspace
    Dim dbsNuovo As Database
    ' Ottiene l'area di lavoro predefinita.
    Set wrkPredefinita = DBEngine.Workspaces(0)
    
    NuovoArchivio = "Prova1"
    
    NuovoArchivio = NuovoArchivio & ".mdb"
    ' Crea un nuovo database cifrato con l'ordine di confronto specificato.
    Set dbsNuovo = wrkPredefinita.CreateDatabase(App.Path & "\" & NuovoArchivio, dbLangGeneral, dbEncrypt)
    dbsNuovo.Close
    
    
    Dim dbs As Database
    Dim tdf As TableDef
    Dim fldID As Field
    Dim fldOggetto As Field
    Dim fldScaffale As Field
    Dim fldCondizione As Field
    Dim fldDescrizione As Field
    Dim flds_PathImage As Field
    
    Set dbs = OpenDatabase(App.Path & "\" & NuovoArchivio)
    
    Set tdf = dbs.CreateTableDef("ArchivioOggetti")
    Set fldID = tdf.CreateField("ID", dbInteger)
    fldID.Required = True
    
    Set fldOggetto = tdf.CreateField("Oggetto", dbText)
    fldOggetto.Required = True
    fldOggetto.Size = 225
    fldOggetto.AllowZeroLength = False
    
    Set fldScaffale = tdf.CreateField("Scaffale", dbText)
    fldScaffale.Required = True
    fldScaffale.Size = 225
    fldScaffale.AllowZeroLength = False
    
    Set fldCondizione = tdf.CreateField("Condizione", dbText)
    fldCondizione.Required = False
    fldCondizione.Size = 225
    fldCondizione.AllowZeroLength = True
    
    Set fldDescrizione = tdf.CreateField("Descrizione", dbMemo)
    fldDescrizione.Required = False
    fldDescrizione.AllowZeroLength = True
    
    Set flds_PathImage = tdf.CreateField("s_PathImage", dbText)
    flds_PathImage.Required = False
    flds_PathImage.Size = 225
    flds_PathImage.AllowZeroLength = True
    
    
    tdf.Fields.Append fldID
    tdf.Fields.Append fldOggetto
    tdf.Fields.Append fldScaffale
    tdf.Fields.Append fldCondizione
    tdf.Fields.Append fldDescrizione
    tdf.Fields.Append flds_PathImage
    
    dbs.TableDefs.Append tdf
    dbs.Close
    Il vero Amico rimane tale Soprattutto al momento del Bisogno

  3. #3
    Ferrari_and non è in linea Scolaretto
    Post
    137
    Potevi gestire anche senza inserire valori controllando se il campo era NULL.

+ Rispondi al Thread

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi