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

Discussione: VB order by

  1. #1

    VB order by

    salve a tutti

    in una query ho problemi con l'ordinamento
    in pratica se inserisco order by cognome o nome funziona benissimo, invece con:

    order by data ' mi da il seguente ordine

    14/05/2003
    17/04/2003
    18/08/2004
    24/05/2004
    25/12/2003

    order by importo ' il seguente

    4.500,00
    450,00
    456,00
    546,00
    54.688,00

    sulla data mi effettua l'ordine solo per il giorno, invece sull'importo non ho ancora capito perchè mi da quel risultato.

    qualcuno sa come risolvere?

    by
    gyonny

  2. #2
    per caso nel db i campi menzionati sono in formato testo?

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    54

    hai specificato un criterio di ordinamento?

  4. #4
    si il database ha i campi formato testo.
    è questo il problema? devo impostare il formato nel db?

    il criterio è crescente

    by
    gyonny

  5. #5
    certo che il problema e' quello! formato data per le date (o formato testo, ma scrivile al contrario AAAAMMGG) e formato numerico per i numeri.

  6. #6
    optime
    grazie per le info

    non posso scrivere al contrario le date, ora provo a cambiare i formati nel data.

    by
    gyonny

  7. #7
    optime ho cambiato i formati nel data e ora l'ordine funziona

    solo che mi da errore su una ricerca

    cer1Sc = "12/02/2003"
    cer2Sc = "15/02/2004"

    RecRS.Open "select * from scadenze where data >= '" & cer1Sc & "' and data <= '" & cer2Sc & "'order by data", DatDb1, adOpenStatic, adLockOptimistic

    Errore di run-time -2147217900(80040e14)
    tipi di dati non corrispondenti nell'espressione criterio.

    prima di cambiare i formati la ricerca funzionava, a modo suo ma funzionava.
    ho provato anche a cambiare le variabili nella query e a mettere direttamente i dati, ma senza esito.

    da cosa dipende, e che tipi di dati cerca?

    by
    gyonny

  8. #8
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    261
    La ricerca nelle date va fatta interponendo avanti e dietro alla data il carattere # es: #02/12/2003#,
    poi devi indicare mese/giorno/anno,
    e per ricerche in due date devi usare la clausola
    select * from nometabella beetwen dataprima <=> dataseconda


  9. #9
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    261
    Scusami ti ho dato la select sbagliata (la fretta di scrivere):
    devi fare così :

    cer1Sc = "12/02/2003"
    cer2Sc = "15/02/2004"
    cer1Sc = Format(cer1Sc, "mm/dd/yyyy")
    cer2Sc = Format(cer2Sc, "mm/dd/yyyy")
    query = "select * from scadenze where data between #" & cer1Sc & "# and #" & cer2Sc & "#"

  10. #10
    teolo grazie per le risposte

    non mi accettava between e allora ho risolto in questo modo:

    cer1Sc = Format(TexFdata1.Text, "dd/mm/yyyy")
    cer2Sc = Format(TexFdata2.Text, "dd/mm/yyyy")

    RecRS.Open "select * from scadenze where data >= #" & cer1Sc & "# and " & campCr & " <= #" & cer2Sc & "# order by data"

    mi daresti una mano anche su questa query?

    cer1Sc = 540,00
    cer2Sc = 850,00

    RecRS.Open "select * from scadenze where importo >= '" & cer1Sc & "' and " & campCr & " <= '" & cer2Sc & "' order by importo"

    in pratica mi deve selezionare degli importi dal data dove sono in formato numerico a precisione doppia

    by
    gyonny

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.