Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 17

Discussione: [VB6] stringa SQL

  1. #1
    Utente di HTML.it L'avatar di yyzyyz
    Registrato dal
    Oct 2001
    Messaggi
    1,653

    [VB6] stringa SQL

    problemino: il database ha una tabella cosi composta

    'campo1 campo2
    dal al
    01/01/03 01/02/03
    02/01/03 02/02/03
    03/01/03 03/02/03
    ..ecc..ecc

    Ho la necessità di fare una ricerca di tipo dal / al , la stringa sql dovrebbe darmi tutti i valori compresi in quel range di date e poi metterli in un datagrid, con un campo so ke si puo' fare , ma con 2 campi è fattibile cio'?
    Come potrei modificare questa stringa (ke ricerca il range solo x 1 campo)

    codice:
    SQL = "select * from miatabella where (dal between " & "#" & dal & "# and " & "al between #" & al & "#)"
    Aiutooo!!! forumz

  2. #2
    ma i campi "dal" e "al" li hai su un record
    devi fare una select
    così

    codice:
    select *
      from nometab
     where dal = # valore #
       and al = # valore #
    Vascello fantasma dei mentecatti nonchè baronetto della scara corona alcolica, piccolo spuccello di pezza dislessico e ubriaco- Colui che ha modificato l'orribile scritta - Gran Evacuatore Mentecatto - Tristo Mietitore Mentecatto chi usa uTonter danneggia anche te

  3. #3
    Utente di HTML.it L'avatar di yyzyyz
    Registrato dal
    Oct 2001
    Messaggi
    1,653
    grazie x la tua risposta , no i campi dal - al sono dei campi popolati solo con date (nel db settati con formato date).
    A me servirebbe popolare la datagrid con il range di date, sia del campo "DAL" sia il range del campo "AL":
    Io volevo risolvere con il between , ma se nn ho capito male nn si puo fare, vista la sintassi, si puo' applicare solo ad un campo x volta (correggimi se sbaglio), anke se mi sembra strano visto ke ho sentito dire ke con SQL si puo' fare di tutto con i DB.

    es. io faccio una ricerca date sul mio DB, ho 2 inputbox (appunto DAL AL), una volta messe le date, dovrebbe applicarmi una ricerca "dal al" sia x il campo DAL sia x il campo AL, spero di nn aver fatto troppa confusione, se avete qualsiasi tipo di suggerimento ditemi pure, grazie a tutti.

    ps. ma x selezionare una range di date con SQL esiste solo il beetween, illuminatemi vi prego

  4. #4
    codice:
    select *
      from nometab
     where dal >= # valore #
       and al <= # valore #
    Vascello fantasma dei mentecatti nonchè baronetto della scara corona alcolica, piccolo spuccello di pezza dislessico e ubriaco- Colui che ha modificato l'orribile scritta - Gran Evacuatore Mentecatto - Tristo Mietitore Mentecatto chi usa uTonter danneggia anche te

  5. #5
    Utente di HTML.it L'avatar di yyzyyz
    Registrato dal
    Oct 2001
    Messaggi
    1,653
    nulla da fare , la stringa ke mi hai dato nn mi ha risolto il problema , forse sbaglio io, praticamente mi trova solo n° 1 record mentre dovrebbe darmene 2, (vedi allegato).

    ciao e grazie

    codice:
    SQL = "select *  From miatabella dal >=#01/01/03# and al <=#01/04/03#"

  6. #6
    Originariamente inviato da yyzyyz
    nulla da fare , la stringa ke mi hai dato nn mi ha risolto il problema , forse sbaglio io, praticamente mi trova solo n° 1 record mentre dovrebbe darmene 2, (vedi allegato).

    ciao e grazie

    codice:
    SQL = "select *  From miatabella dal >=#01/01/03# and al <=#01/04/03#"
    hai provato ad invertire il giorno e il mese delle date?
    Nel tuo caso basta che inverti la data "al", così:
    codice:
    SQL = "select *  From miatabella dal >=#01/01/03# and al <=#04/01/03#"

    05.08.2005 - by alka
    Auguri all'angelo custode dei moderatori.

  7. #7
    Utente di HTML.it L'avatar di yyzyyz
    Registrato dal
    Oct 2001
    Messaggi
    1,653
    , sembra ke vada , ascolta nn mi dire ke le date SQL le legge in formato americano (mm/gg/aa anzikè gg/mm/aa), se si come faccio x formattarle in formato diciamo europeo prima ke passino per la query ?

    ps. se mi risolvi questo problema 6 una grande.

  8. #8
    Originariamente inviato da yyzyyz
    , sembra ke vada , ascolta nn mi dire ke le date SQL le legge in formato americano (mm/gg/aa anzikè gg/mm/aa), se si come faccio x formattarle in formato diciamo europeo prima ke passino per la query ?

    ps. se mi risolvi questo problema 6 una grande.
    hai la possibilità di settare la Lingua da utilizzare per la tua sessione. Cioè all'avvio del tuo programma devi eseguire una stringa SQL che setta la lingua in italiano. Se non sbaglio dovrebbe essere così:
    codice:
    Connessione.Execute "Set Language ITALIANO"
    solo che sto andando a memoria. prova a cercare "Set language" nella guida di SQLServer

    Così facendo non dovresti più avere problemi con le date

    05.08.2005 - by alka
    Auguri all'angelo custode dei moderatori.

  9. #9
    Utente di HTML.it L'avatar di yyzyyz
    Registrato dal
    Oct 2001
    Messaggi
    1,653
    grazie ladyBlu x il tuo aiuto (spero ke xegallo nn si offenda ), cmq ho trovato questo codice, ma nn saprei dove e come utilizzarlo:

    codice:
    SET LANGUAGE 'Italian'
    SELECT @@LANGID AS 'Language ID'
    penso di optare x una soluzione di questo genere :

    codice:
    SQL = "SELECT * FROM miatabella WHERE dal = #"
    SQL = SQL & Format(dal,"mm-dd-yy") & "#"
    cmq ti faro' sapere domani, se hai qualke dritta

  10. #10
    Utente di HTML.it L'avatar di yyzyyz
    Registrato dal
    Oct 2001
    Messaggi
    1,653
    xchè questa è giusta
    codice:
    SQL = "select *  From miatable where dal >=#01/01/03# and al <=#04/01/03#"
    mentre questa mi da "errore di sintassi operatore mancante" ???
    codice:
    dal = Format(dal, "mm/dd/yy")
    al = Format(al, "mm/dd/yy")
    
    SQL = "select *  From miatable where dal =>#" & dal & "# and al =<#" & al & "#"
    dove sbaglio notte

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.