Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    [VB6] Query con limitazioe di caratteri

    Il titolo è na roba grossa....ehehehh

    Vi spiego

    In un archivio ho il CODICE FAMIGLIA, che identifica il CODICE di un prodotto.

    Ad esempio

    L01 (Articolo1)
    L02 (Articolo2)
    Ecc.

    Il problema sta sul fatto che questo valore è registrato in un campo impostato come testo, quindi quando richiedo una query di tutti i prodotti e riodinati per CODICE FAMIGLIA.

    Lui mi fa una cosa del genere


    L01
    L02
    L02
    L04
    L05
    L06
    L07
    L08
    L09
    L10
    L100
    L101
    L102
    .
    .
    .
    L109
    L110
    L11
    L111
    L112


    E non va bene dovrebbe essere una cosa lineare

    C'è un modo????

    L'unico modo che mi è venuto in mente è quello di vedere i CARATTERI che compongolo il codice famiglia

    L01 (3 caratteri)
    L100 (4 caratteri)

    Si può far in modo che lui ordini primi tutti i codici con 3 caratteri poi quelli con 4

    A questo punto il problema è risolvo

    MA NON SONO CAPACE

    Ecco la mia query

    rsRecordSet2.Open "SELECT [N° Disegno - Prefisso],[Locazione],First([Nome Prodotto])as [Nome Prodotto2] From [Struttura: Archivio] where [Locazione]='" & Replace(valore3, "'", "''") & "' group by [N° Disegno - Prefisso],[Locazione] order by [N° Disegno - Prefisso]", Cn, adOpenStatic, adLockOptimistic



    [N° Disegno - Prefisso] = Sarebbe il codice famiglia, solo che quando è stato fatto il primo programma aveva tale nome, spero che troviate una soluzione

    C'è un GRUOP di mezzo perchè a sua tempo non era stato creato con tabelle relazionate PADRE-FIGLIO


    Ciao e grazieeeeeeeeeee

  2. #2
    Utente di HTML.it L'avatar di Boolean
    Registrato dal
    Oct 2005
    Messaggi
    758
    secondo me il problema puoi risolverlo alla radice, ovvero inserendo nel DB il codice formattato per avre 4 caratteri numerici, o più a esconda di quanti articoli prevedi di avere.

    quindi il tuo codice L01 dovrebbe essere: L0001

    ed è sicuro che fino a L9999 sei a posto con l'ordinamento

    Boolean

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2005
    Messaggi
    357
    Prova in questo modo, spero di aver messo tutte le parentesi

    codice:
    rsRecordSet2.Open "SELECT [N° Disegno - Prefisso],[Locazione],First([Nome Prodotto])as [Nome Prodotto2] From [Struttura: Archivio] where [Locazione]='" & Replace(valore3, "'", "''") & "' group by [N° Disegno - Prefisso],[Locazione] ORDER BY IIf([N° Disegno - Prefisso] Is Null,0,Val(Mid([N° Disegno - Prefisso],2,Len([N° Disegno - Prefisso]))))
    ", Cn, adOpenStatic, adLockOptimistic
    Ciao

  4. #4

    Siiiiiiiiiiiiiiii

    Grande


    Ora me le elenca perfettamente



    Proprio quello che cercavo



    Ciao e grazieeeeeeeeeeee

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.