Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2005
    Messaggi
    361

    [VB6]: Database e Flex

    Ciao ragazzi
    volevo chiedervi se potevate aiutarmi, quindi vado subito al dunque:

    Io ho una flexgrid con due colonne, un pulsante e una tabella.mdb chiamata NOMINATIVI con due campi "NOME" e "COGNOME", è possibile inserire il testo delle righe di queste due colonne nei campi della Tabella? Tenendo conto che l'utente puo' decidere di inserire fino a 50 righe.
    Grazie mille, spero che qualcuno mi possa aiutare.
    Claudio

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2005
    Messaggi
    361

    Un aiutino, vi prego!


  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2005
    Messaggi
    361

    PROPRIO NULLA??


  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    39
    Non ho capito a cosa serve il pulsante....
    Se i nomi vanno dalla tabella alla flex o viceversa ...
    Comunque se devi mettere dalla tabella alla flex :

    fai un recodset con i nomi ed i cognomi e li inserisci :
    rs.movefirst
    do until rs.eof
    flex.textmatrix(colonna,Riga) = rs("Nome")
    flex.textmatrix(colonna2,Riga) = rs("Cognome")
    rs.movenext
    ' ecc. ecc.
    loop

    Se devi fare il contrario fai un ciclo fino a 50 o a che non incontri una riga vuota, fai l'edit o l'addnew sul recordset ecc.....

    Se ho Capito.
    Ciao

  5. #5
    Se usi la MSHFlexGrid puoi anche seplicemente fare, una volta popolato il recordset (rs) :
    codice:
    Set MSHFlexGrid1.Recordset = rs

    CIauz

    Chico

  6. #6
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,480
    Soluzioni analoghe al problema sono state postate anche in questa discussione, già appartenente allo stesso autore.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2005
    Messaggi
    361

    Risposte

    PER otti

    Il problema è come dicevi tu Viceversa, gentilmente potresti farmi un esempio con "ciclo fino a 50" , perchè non sono un esperto.
    Scusami se ti chiedo tanto, Grazie mille Claudio

    PER chico62

    Uso msflexgrid, ma prendero' in considerazione tutto.
    Grazie Claudio

    PER ALKA

    Hai ragione ma quello che domandavo era inserire da MsFlexGrid al Database.mdb che non so' fare.
    Grazie cmq per la delucidazione.
    Claudio

  8. #8
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    39
    ' Io farei così

    ' Dichiaro le varibili
    Dim Db as database
    Dim Rs as Recodset
    Dim N as integer
    ' Creo il collegamento all'archivio
    Set db = workspaces(0).opendatabase(app.path & "\Tabella.mdb")

    ' Se devi cancelllare prima tutti i nomi presenti nell'archivio
    db.execute "Delete * from Nominativi"

    ' Creo il recodset
    Set Rs = db.openrecordset("Select * from Nominativi")

    ' Creo il ciclo per inserire i nomi
    With Flex ' <------ Devi mettere il nome della tua flex
    For N = 1 to 50
    ' Per riga inserisco i dati in archivio
    rs.addnew
    if not isnull(.textmatrix(N-1,0)) then rs("Nome") = .textmatrix(N-1,0)
    if not isnull(.textmatrix(N-1,1)) then rs("Cognome") = .textmatrix(N-1,1)
    rs. update
    next N
    end with

    RS.close
    Db.CLose
    -------------------------------------------------------

    Spero di aver scritto giusto perchè non l'ho provato.

    Se qualcuno mi corregge ...... sono contento di migliorare il mio codice!
    Ciao Ciao

  9. #9
    Utente di HTML.it
    Registrato dal
    Sep 2005
    Messaggi
    361

    Ciao otti

    Ho dato un'occhiata al tuo codice che gentilmente mi hai postato, funziona alla grande, ma la mia esigenza è quella di inserire tutte le righe della Flex in un record unico e non di avere una tabella con 50 righe, perchè si tratta di estrapolare piu' nomi da un unico record.
    Dimmi se sbaglio, devo per caso cambiare la proprietà dei campi NOME e COGNOME nel DB, cioè da Testo a Memo?

    Sper di essermi spiegato abbastanza bene, scusa la mia "ignoranza" e non "conoscenza".

    In tanto Grazie mille
    Claudio

  10. #10
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    39
    :master:
    Seguendo quello che mi hai chiesto senza fare domande direi che bisognerebbe memorizzare prima il tutto in una varibile e poi memorizzarla in uno dei due campi che deve essere "Memo"
    Qundi ....
    codice:
     Dichiaro le varibili
    Dim Db as database
    Dim Rs as Recodset
    Dim N as integer
    Dim TuttiINomi as string
    ' Creo il collegamento all'archivio
    Set db = workspaces(0).opendatabase(app.path & "\Tabella.mdb")
    
    ' Se devi cancelllare prima tutti i nomi presenti nell'archivio
    db.execute "Delete * from Nominativi"
    
    ' Creo il recodset
    Set Rs = db.openrecordset("Select * from Nominativi")
    TuttiINomi = ""
    
    ' Creo il ciclo per inserire i nomi NELLA VARIBILE
    With Flex ' <------ Devi mettere il nome della tua flex
    For N = 1 to 50
    ' Per riga inserisco i dati nella varibile
        if not isnull(.textmatrix(N-1,0)) and not is null(.textmatrix(N-1,1)) then
          ' Ho messo dei separatori per eventualmente riprendere i nomi....  
         TuttiINomi = TuttiINomi & .textmatrix(N-1,0) & "-" & .textmatrix(N-1,1) & "|"
        end if
    next N
       rs.addnew
          rs("Nome") = TuttiINomi
       rs. update
    end with
    
    RS.close
    Db.CLose
    Mi sembra di aver scritto delle cavolate ma se ho capito quello che mi hai chiesto così deve essere giusto.

    Qualcuno mi supporti vi prego .........

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.