Inserire più records contemporaneamente in cui variano solo alcuni campi

Anonimo
2014-08-26T05:10:24+00:00

Buongiorno a tutti.

Sto preparando un gestionale per un negozio di calzature. E' praticamente finito, ma nel fare le ultime prove mi sono reso conto che sarebbe molto più veloce caricare i prodotti in cui varia solo il numero simultaneamente.

Ho una tabella "prodotti" con i campi

ID

Marchio

Modello

Numero

Prezzo di acquisto

Prezzo di vendita

Codice

ed una maschera per l'inserimento di ogni record ("inserimento dati: si")

Immaginate una scarpa marchio NIKE modello AR2145 numeri dal 32 al 47...dovrei fare 16 inserimenti di record..

Ho pensato di facilitarmi le cose prevedendo un pulsante di controllo che se flaggato mi riporti alcuni dati (marchio e modello) anche per il report successivo, ma mi trovo comunque a dover fare 16 inserimenti.

Mi è venuto quindi in mente di creare una maschera dove ci sono i campi MARCHIO e MODELLO e sotto diverse caselle combinate dove ci sono tutti i numeri di calzature possibili (origine dati da altra tabella), ipotizziamo 20 numeri. 

Sotto ogni casella combinata ci sono altre 2 caselle dove inserire il prezzo di acquisto e di vendita.

Tramite codice vba, dovrei dirgli che al click di un pulsante

MARCHIO = ME.MARCHIO

MODELLO = ME. MODELLO

Per ogni casella combinata diversa da null

Crea un nuovo record con MARCHIO=MARCHIO, MODELLO=MODELLO, NUMERO=CASELLACOMBINATA(N), PREZZO ACQUISTO=CASELLA COMBINATA(N+20), PREZZO DI VENDITA=CASELLA COMBINATA(N+40)

C'è sicuramente un metodo migliore, ma non ci arrivo. Mi date qualche consiglio??? Grazie

Microsoft 365 e Office | Access | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

18 risposte

Ordina per: Più utili
  1. Anonimo
    2014-08-26T12:44:13+00:00

    Invece delle check box ho usato caselle combinate per i numeri e caselle di testo per costo e prezzo, da 1 a 24.

    Dovrebbe andare....

    Ora però non riesco a capire come fare ad attivare/disattivare prezzo e costo alla selezione di un numero...ho provato con form afterupdate, afterinsert, beforeupdate....ma niente, al variare del valore della casella combinata non succede nulla...posto il codice

    Private Sub Form_BeforeUpdate(Cancel As Integer)

    MsgBox ("ciao")

    Dim ind As Integer

    For ind = 1 To 24

    If Me("numeri" & ind) <> Null Then

    Me("costo" & ind).Enabled = True

    Me("prezzo" & ind).Enabled = True

    End If

    Next ind

    End Sub

    non mi visualizza neanche il msgbox

    grazie!

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2014-08-26T10:56:09+00:00

    è proprio quello che cercavo..mi mancava il passaggio del loop relativo ai controlli! Ora provo!

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2014-08-26T09:25:30+00:00

    Ciao,

    non hai alternative devi effettuare tanti inserimenti quante sono le misure.

    Per sfruttare un loop nel codice VBA potresti denominare tutti i controlli come ad esempio:

    Misura32     Costo32       Prezzo32         Misura41     Costo41       Prezzo41

    Misura33     Costo33       Prezzo33         Misura42     Costo42       Prezzo42

    ....

    Dove ad esempio MisuraXX sono delle check-box

    In tal modo puoi far riferimento ai vari campi con un indice

    Dim Ind As Integer

    For Ind = 32 to 48

         if me("Misura" & Ind) Then

            Docmd.RunSql "Insert Into tuaTabella ...." & me("Misura" & Ind), me("Costo" & Ind), me("Prezzo" & Ind.....

         endif

    next Ind 

    Fammi sapere

    Mimmo

    La risposta è stata utile?

    0 commenti Nessun commento
  4. Anonimo
    2014-08-26T07:31:46+00:00

    Ciao, la tabella deve essere unica.

    Il prezzo varia anche in base alle misure!

    Grazie

    La risposta è stata utile?

    0 commenti Nessun commento
  5. Anonimo
    2014-08-26T07:26:01+00:00

    Ciao,

    la tua esposizione farebbe pensare ad una diversa struttura nei dati.

    Immagina la tabella Prodotti con i campi:

    Id

    Marchio

    Modello

    E una nuova tabella ad es. Misure con:

    Id

    ProdottoId

    Misura

    Quantità

    Prezzo di acquisto

    Prezzo di vendita

    Se il prezzo non varia al variare della misura sposterei Prezzo di acquisto e di vendita in Prodotti.

    Mimmo

    La risposta è stata utile?

    0 commenti Nessun commento