Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it L'avatar di salasir
    Registrato dal
    Apr 2004
    Messaggi
    1,884

    Gestione dinamica colonne tabella access

    Sto cercando di gestire dinamicamente le colonne di una tabella ACCESS da una mia pagina ASP.
    Ho risolto quasi tutto: Leggo i nomi delle colonne, riesco a recuperare il contenuto delle colonne, ma quando cerco di costruire dinamicamente il codice HTML non riesco a inserire il valore contenuto nel campo costruito nel "value" dell'INPUT.
    Se indico esplicitamente il nome del campo valorizzato funziona, mentre se lo costruisco dinamicamente mi trovo il nome del campo anziché il contenuto.
    questo funziona
    codice:
    <input type='text' accesskey='22' name='Materia' id='Materia' tabindex='22'
                 maxlength='10' size='10' value="<%=iSpesa_Materia%>" /><br />
    
    <input type="text" accesskey="22" name="Materia" id="Materia" tabindex="22" maxlength="10" size="10" value="24,58">
    questo no
    codice:
    <input type='text' accesskey='<%=iCount%>' name='<%=CampiUT(i)%>' id='<%=CampiUT(i)%>' tabindex='<%=iCount%>' placeholder='Valore'
                    maxlength='10' size='10' value='<%="i" & CampiUT(i)%>' /><br />
    
    <input type="text" accesskey="22" name="Spesa_Materia" id="Spesa_Materia" tabindex="22" placeholder="Valore" maxlength="10" size="10" value="iSpesa_Materia">
    E se provo a stampare il campo ho correttamente il valore previsto:
    iSpesa_Materia: 24,58
    Qualcuno ha idee?
    Maurizio

    "se ami il lavoro che fai, non lavorerai mai un giorno in vita tua!"

  2. #2
    Utente di HTML.it L'avatar di abellos
    Registrato dal
    Feb 2002
    Messaggi
    434
    Ciao,
    devi fare una cosa del genere:

    RS(cstr(campiUT(i)))

    potresti fare vedere il codice di come riempi la matrice campiUT
    Da un grande potere derivano grandi responsabilità

  3. #3
    Utente di HTML.it L'avatar di abellos
    Registrato dal
    Feb 2002
    Messaggi
    434
    Ciao,
    devi fare una cosa del genere:

    RS(cstr(campiUT(i)))

    potresti fare vedere il codice di come riempi la matrice campiUT
    Da un grande potere derivano grandi responsabilità

  4. #4
    Utente di HTML.it L'avatar di salasir
    Registrato dal
    Apr 2004
    Messaggi
    1,884
    La tabella Utenze_voci è una tabella guida che indica quali colonne aggiornare con valore SI/NO in base a caratteristiche. La tabella target ha le stesse colonne.
    Queste colonne vengono memorizzate nell'array e utilizzate per input e update.

    codice:
    	strsql = "Select Id"				' Cerco riga corrispondente Voci
    	strsql = strsql & " from Utenze_Voci " 		
    	strsql = strsql & " Where Tipo_Utenza = '" & iDescStan & "'"	
    	strsql = strsql & "   and Fornitore = '" & iForn & "'"	
    	strsql = strsql & "   and #" & iDataMov & "# between data_validita and data_scadenza "
    
    
    	Set objVoce = Server.CreateObject("ADODB.Recordset")
    	set objVoce = objConn.Execute(strsql)
    	' response.write objVoce("id") & "<br />"	
    	if not objVoce.EOF then
    		riga = objVoce("id")
    		call Apri_ADOX(objCat)
    
    
    		strsql	=	"SELECT TOP 1 * FROM Utenze_Voci"
    		Set objRS = objCat.Execute(strsql)
    
    
    		Dim CampiUT(20)
    		iCount	= 1
    		For Each objField In objRS.Fields
    			strsql = "Select " & objField.Name 
    			strsql = strsql & " from Utenze_Voci " 		
    			strsql = strsql & " Where id = " & riga	
    			Set objCol = Server.CreateObject("ADODB.Recordset")
    			set objCol = objConn.Execute(strsql)
    			if objCol(objField.Name) = true	then
    				CampiUT(icount) = objField.Name
    				icount = iCount + 1
    			end if
    		Next
    Maurizio

    "se ami il lavoro che fai, non lavorerai mai un giorno in vita tua!"

  5. #5
    Utente di HTML.it L'avatar di abellos
    Registrato dal
    Feb 2002
    Messaggi
    434
    Adesso devi fare un ciclo per creare l'sql di select con la matrice CampiUt, poi per prendere i valori apri un recordset, con l'sql appena creato, e usi il comando di prima

    RS(cstr(campiUT(i)))
    Da un grande potere derivano grandi responsabilità

  6. #6
    Utente di HTML.it L'avatar di salasir
    Registrato dal
    Apr 2004
    Messaggi
    1,884
    Sì, quello l'ho già fatto e funziona.
    Il problema è utilizzare il nome della colonna per costruire un campo di input da assegnare al VALUE.
    Come ho già scritto all'inizio, il nome del campo è corretto e contiene un valore ma dopo il parsing del codice mi ritrovo il nome del campo anziché il valore come avviene se lo indico esplicitamente.
    Maurizio

    "se ami il lavoro che fai, non lavorerai mai un giorno in vita tua!"

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.