Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1
    Utente di HTML.it L'avatar di Veronica80
    Registrato dal
    May 2006
    Messaggi
    2,117

    ACCESS - Non mi crea la query

    Ragazzi sto cominciando a preoccuparmi...
    io ho un DB con varie tabelle e varie relazioni tra le stesse.

    Quando creo una query contenente tutti i campi di tutte le tabelle ma la da vuota...

    Puoi dipendere che non tutte le tabelle (seppur relazionate) non contengon dati?

    es:

    Tabella DIPENDENTI:
    e ci son i dati del dip
    >>>>>>>>>>>>>>>Tabella Apprendista
    >>>>>>>>>>>>>>> e ci son i dati relativi a quel dipendente SOLO se è un apprendista
    >>>>>>>>>>>>>>>Tabella Domicilio
    >>>>>>>>>>>>>>> e ci son i dati relativi a quel dipendente SOLO se lavora a domicilio

    ecc ecc

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Dipende soprattutto dalla query. E se non la posti non lo sapremo mai.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    Utente di HTML.it L'avatar di Veronica80
    Registrato dal
    May 2006
    Messaggi
    2,117
    VVoVe:
    Come la posto? Io la creo col wizard...in pratica ho messo tutti i campi...

  4. #4
    Utente di HTML.it L'avatar di vonkranz
    Registrato dal
    Sep 2001
    Messaggi
    1,387
    Il problema dipede dalle relazioni che hai creato.
    Evidentemente la query non trova nessuna corrispondenza, e il fatto che alcune tabelle non abbiano dati aggrava la situazione.
    Prova ad aggiungere dati coerenti con le relazioni nelle tabelle vuote e riprova.
    ...and I miss you...like the deserts miss the rain...

  5. #5
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Dal Wizard: fai clic sul menu "Visualizza"; scegli "Visualizzazione SQL"; copia il testo che ti appare (è una serie di istruzioni che rappresentano la tua query); entra in questo forum e incolla il testo copiato, possibilmente inserendolo dentro ai tag [*CODE] e [*/CODE] (senza l'asterisco rosso) così risulta più leggibile.

    Posta anche la struttura delle tabelle coinvolte e le relazioni che ci sono tra di esse.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  6. #6
    Utente di HTML.it L'avatar di Veronica80
    Registrato dal
    May 2006
    Messaggi
    2,117
    Questa è la struttura:

    codice:
    SELECT apprendistato.*, dipendenti.*, ditte.*, Domicilio.*, posizioni.*, trattamento.*
    FROM (ditte INNER JOIN (((dipendenti INNER JOIN apprendistato ON dipendenti.ID = apprendistato.idDip) INNER JOIN Domicilio ON dipendenti.ID = Domicilio.idDip) INNER JOIN trattamento ON dipendenti.ID = trattamento.idDip) ON ditte.ID = dipendenti.idDitta) INNER JOIN posizioni ON ditte.ID = posizioni.idDitta;
    Le tabelle sono 6:

    >Ditte (contiene le ditte)
    >Dipendenti (contiene i dipendenti è relazionata coi campi Ditte.ID / Dipendenti.IdDitta)
    >Posizioni (contiene le pos. assicurative della ditta ed è relazionata coi campi Ditte.ID / posizioni.idDitta)

    Poi in base al tipo di contratto d'assunzione del dipendente si scrive in diverse tabelle:
    >Domicilio (se il contratto è Lav. a Domic. relazionata coi campi Dipendenti.ID / Domicilio.IdDip)
    >Apprendistato (se il contratto è Apprend. relazionata coi campi Dipendenti.ID / Apprendistato.idDip)
    >Trattamento (se è neccessario il tratt. economico relazionata coi campi Dipendenti.ID / Trattamento.ID)

    Non so come spiegarvelo bene....
    Vonkranz! Razza di takkinatore che nn sei altro! Fai qualcosa!

    Se volete mi trovate anke su MSN!

    GRAZIEEEE!

  7. #7
    Cara Valentina, se non erro l'inner join restituisce le righe delle tabelle se c'è un legame, altrimenti non le visualizza nel database, quindi visto che le tabelle non hanno gli stessi legami, ecco che la query ti risulta vuota.
    Credo che dovresti provare ad utilizzare più query oppure un istruzione condizionale.

    RS95

  8. #8
    Utente di HTML.it L'avatar di Veronica80
    Registrato dal
    May 2006
    Messaggi
    2,117
    Mi chiamo Veronica
    e non ho capito nulla

    Io uso VB6...access nn è che lo conosca così bene...

  9. #9
    Ma tutte le tabelle sono popolate?
    Non fare la query da access ma impostala da VB6...

  10. #10
    Ti chiedo scusa per l'errore, comunque ciò che volevo segnalarti è che l'INNER JOIN popola la query solo se le tabelle collegate hanno una corrispondenza nei dati. In parole povere, se ho due dipendenti, X1 e X2, X1 lavora con contratto di apprendistato e X2 lavora a domicilio, la query non potrai popolarla in quanto alcuni campi delle tue tabelle sono vuoti quindi non vi è una corrispondenza fra i dati.
    Credo che potresti comunque provare ad utilizzare delle espressioni condizionali (se non erro in Access l'espressione è iif).
    Il mio consiglio è quello di crearti una copia del database, dopo di che provi ad eliminare le tabelle in eccesso da uno dei due db (esempio: domicilio e apprendistato), crei una tabella unica con i dati che ti servono e, per distinguere se si tratta di apprendistato, lavoro a domicilio o altro utilizzi dei checkbox o dei combobox.

    RS95

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.