Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1

    Inserimento Record In Tabella Solo Se Gia Non Sono Presenti

    ho questa query

    SELECT [Selezione record voluti].* INTO PROGETTO
    FROM [Selezione record voluti];

    che praticamente inserisce in una tabella che si chiama PROGETTO il risultato di una precedente query

    SELECT UnioneProduttori.[Filtro tipologia impianti], Produttore, [Filtro tipologia prodotto], [Codice prodotto], Descrizione, [Listino end user], [Note 1], [Note 2]
    FROM UnioneProduttori
    WHERE UnioneProduttori.[Filtro tipologia impianti]=[Maschere]![NuovoProgetto]![Tipo impianto] AND UnioneProduttori.[produttore]=[Maschere]![NuovoProgetto]![Produttore];

    che mi seleziona da UnioneProduttori i dati che l'utente ha selezionato nella maschera e me li mostra, come faccio a dire alla prima query inserisci i dati in progetto anche se gia esiste una tabella denominata progetto accodandoli ai precedenti ma solo se non sono gia presenti in progetto?

  2. #2
    in access non esiste una funzione che faccia questo. devi prima cercare il dato e se non c'è inserirlo.

    in alternativa, puoi inserire una tabella temporanea i dati; poi cancelli dalla temp i dati che già esistono (con una DELETE JOIN) e quindi inserisci i rimanenti


  3. #3
    ho trovato una funziona che farebbe al caso mio ed è la WHERE NOT EXISTS ma come la uso nel mio caso?

    esempio

    INSERT INTO nazioni (stato,anno) SELECT 'Italia',1861 FROM DUAL WHERE NOT EXISTS (SELECT stato FROM nazioni WHERE stato="Italia" AND anno=1861);

    come la cambio?

  4. #4
    Se fai una cosa di questo tipo?

    INSERT INTO PROGETTO
    SELECT
    [Selezione record voluti].*
    FROM
    [Selezione record voluti] LEFT JOIN [Progetto] ON

    [Selezione record voluti].[Campo1]=[Progetto].[Campo1] And
    [Selezione record voluti].[Campo2]=[Progetto].[Campo2] And
    [Selezione record voluti].[Campo3]=[Progetto].[Campo3]

    WHERE
    [Progetto].[Campo1] Is null And
    [Progetto].[Campo2] Is Null And
    [Progetto].[Campo3] Is Null;

  5. #5
    io avevo pensato a una cosa di questo genere

    IF NOT EXISTS (SELECT [Selezione record voluti].* FROM [Selezione record voluti].* WHERE UnioneProduttori.[Filtro tipologia impianti]=[Maschere]![NuovoProgetto]![Tipo impianto] AND UnioneProduttori.[produttore]=[Maschere]![NuovoProgetto]![Produttore])
    UPDATE PROGETTO SET ([Maschere]![NuovoProgetto]![Tipo impianto] AND [Maschere]![NuovoProgetto]![Produttore]) WHERE UnioneProduttori.[Filtro tipologia impianti]=[Maschere]![NuovoProgetto]![Tipo impianto] AND UnioneProduttori.[produttore]=[Maschere]![NuovoProgetto]![Produttore])
    ELSE
    INSERT INTO PROGETTO VALUES ([Maschere]![NuovoProgetto]![Tipo impianto] AND [Maschere]![NuovoProgetto]![Produttore]) WHERE UnioneProduttori.[Filtro tipologia impianti]=[Maschere]![NuovoProgetto]![Tipo impianto] AND UnioneProduttori.[produttore]=[Maschere]![NuovoProgetto]![Produttore]);

    ma mi dice istruzione SQL non valida prevista DELETE, INSERT, PROCEDURE, SELECT O UPDATE????

    dove sbaglio??

  6. #6

    Re: Inserimento Record In Tabella Solo Se Gia Non Sono Presenti

    Originariamente inviato da ShAdOw WaLkEr
    come faccio a dire alla prima query inserisci i dati in progetto anche se gia esiste una tabella denominata progetto accodandoli ai precedenti ma solo se non sono gia presenti in progetto?
    Mi sono perso... non ho capito che vuoi fare
    Non si può risolvere un problema usando lo stesso modo di pensare che ha creato quel problema.
    Albert Einstein

    Siate Affamati, siate Folli, siate Onesti e siate Generosi

  7. #7
    mettendo caso che io nella mia maschera seleziono produttore amp-tyco cat impianto 5eftp, eseguo le 2 query, la prima mi fa una scrematura e mi visualizza solo i record che hanno come produttore amp-tyco e cat impianto 5eftp, a questo punto eseguo la seconda query che mi crea una tabella denominata PROGETTO, con questi dati di questa scrematura al suo interno, io vorrei che se scegliessi la volta successiva al posto che amp-tyco brand-rex e al posto che cat 5eftp cat 6 oppure solo uno dei 2 la seconda query non mi crei piu un'altra tabella ma capisca che la tabella progetto esiste gia accodandomi la seconda scelta alla precedente capito?

  8. #8
    Originariamente inviato da ShAdOw WaLkEr
    mettendo caso che io nella mia maschera seleziono produttore amp-tyco cat impianto 5eftp, eseguo le 2 query, la prima mi fa una scrematura e mi visualizza solo i record che hanno come produttore amp-tyco e cat impianto 5eftp, a questo punto eseguo la seconda query che mi crea una tabella denominata PROGETTO, con questi dati di questa scrematura al suo interno, io vorrei che se scegliessi la volta successiva al posto che amp-tyco brand-rex e al posto che cat 5eftp cat 6 oppure solo uno dei 2 la seconda query non mi crei piu un'altra tabella ma capisca che la tabella progetto esiste gia accodandomi la seconda scelta alla precedente capito?
    La query che ti ho postato sopra fa esattamente quello che stai chiedendo.. l'hai provata?

  9. #9
    ok ho capito.

    Non fai prima a creare una volta per tutte la tabella progetto e poi a tirar su una specie di trigger anche se trigger non e'?

    Mi spiego meglio :

    La tabella progetto ce e resta li,

    fai la selezione e dopo aver fatto la selezione da codice fai si che si esegua la query di insert che scrive in progetto.

    Mi sembra molto piu semplice e lineare.
    Non si può risolvere un problema usando lo stesso modo di pensare che ha creato quel problema.
    Albert Einstein

    Siate Affamati, siate Folli, siate Onesti e siate Generosi

  10. #10
    Originariamente inviato da ibernet
    La query che ti ho postato sopra fa esattamente quello che stai chiedendo.. l'hai provata?
    si ibernet e non mi funge .-. non capisco il motivo

    INSERT INTO PROGETTO VALUES () FROM [Selezione record voluti] WHERE NOT EXISTS (UnioneProduttori.[Filtro tipologia impianti]=[Maschere]![NuovoProgetto]![Tipo impianto] AND UnioneProduttori.[produttore]=[Maschere]![NuovoProgetto]![Produttore]);

    adesso stavo provando con questa ma non so cosa mettere in values() uff

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.