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

    come importare 5 campi di una tabella in un'altra tabella di 160 campi?!

    Ciao! è la prima volta che scrivo ...
    ho un problema : ho un database vecchio ed uno nuovo.
    Nel db vecchio ho la tabella [Dati Sezione] formata da 5 campi (sez, num, u,v,z)
    nel db nuovo ho una tabella [Tipo Trave] di 160 campi (ttrave, 1,2, ... cconta, dtr).

    quello che dovrei fare io è importare i dati della tabella Dati Sezione nella tabella Tipo Trave.

    es:

    DATI SEZIONE
    Sezione NUM U V Z
    Pannello H27.5 6 1.62 39.92 56.38
    Pannello H27.5 1 1 115 113
    Pannello H27.5 2 2 115.3 115
    Pannello H27.5 3 0.77 75.8 105.66
    Pannello H27.5 5 0.42 56.38 63.66


    TIPO TRAVE

    ttrave 1 2 3 4 5 6 7 8 9....160
    test finale 4 2 1.39 24 2 1.39 26 2 1.39 28 2 1.39 46 2 1.39 48 2 1.39 50 2 1.39 70 2 1.39 72 2 1.39 74 2 1.39 92 2 1.39 94 2 1.39 96 2 1.39 114 2


    se in Tipo Trave non c'è la sez allora apro la tabella Dati Sezione ed inserisco i relativi dati

    Fino a qui ok... il mio problema nasce dal fatto che la tab vecchia DATI SEZIONE ha solo 5 campi mentre la tabella nuova DATI TRAVE ne ha 160!

    Dovrei fare in modo che una volta letta la prima riga (in DATI SEZIONE) ed inserita in TIPO TRAVE non vada a capo ma continui ad inserire la riga successiva sulla stessa riga (no so se mi sono spiegata bene!)

    quindi legge i primi 5 dati in dati sezione e li inserisce in tipo trave
    legge poi gli altri 5 dati (uguale nome sezione) e dovrebbe inserirmeli nella stessa riga di tipo trave (where ttrave = sezione)

    qualche suggerimento ?!

    ps: Sto usando vb6 ...

    Please Help!!


    grazie

  2. #2
    devi farti una query che ti tiri su tutti i dati della prima tabella
    che vuoi inserire nella seconda

    poi cicli sul record set della prima tabella e vai ad aggiornarti i valori che stanno nella seconda tabella, ad ogni ciclo incrementerai una qualche variabile che ti indica quale colonna
    della seconda devi valorizzare
    esempio
    Codice PHP:
    dim ColumnID as integer
    ColumnID 
    0

    rsDaAggiornare
    .addnew
    while not rsVecchiaTabella.eof
       
    'Primo campo vecchia tabella
       rsDaAggiornare(cstr(ColumnID + 1)) = rsVecchiaTabella(nomecampo vecchia tabella)
       '
    Secondo campo vecchia tabella
       rsDaAggiornare
    (cstr(ColumnID 2)) = rsVecchiaTabella(nomecampo vecchia tabella)
       
    'continua per gli altri campi
       '
    incremento a seconda di quanti campi ho inserito
       ColumnID 
    ColumnID  5
       rsVecchiaTabella
    .movenext
    wend
    rsDaAggiornare
    .update 
    incfementi columnID di quante posizioni ti devi spostare, spero che sia tutto chiaro

    cmq pur non sapendo cosa devi fare sono molto convinto che il tuo DB sia strutturato male
    non esiste usare una tabella con 160 campi, forse non sai usare Join e relazioni 1:n ?

  3. #3
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244

    Re: come importare 5 campi di una tabella in un'altra tabella di 160 campi?!

    Originariamente inviato da marikasao
    Ciao! è la prima volta che scrivo ...
    ...e non hai letto il Regolamento.

  4. #4
    Grazie Max Mercury sei stato chiaro!!

    In realtà è da poco che sono stata assunta in questo posto, quindi il db era già stato fatto e non posso modificarlo

    Grazie ancora per la tua risposta, spero di riuscire a farcela...


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.