Torna indietro   Hardware Upgrade Forum > Software > Programmazione

PC Specialist Lafité 14 AI AMD: assemblato come vuoi tu
PC Specialist Lafité 14 AI AMD: assemblato come vuoi tu
Il modello "build to order" di PCSpecialist permette di selezionare una struttura base per un sistema, personalizzandolo in base alle specifiche esigenze con una notevole flessibilità di scelta tra i componenti. Il modello Lafité 14 AI AMD è un classico notebook clamshell compatto e potente, capace di assicurare una elevata autonomia di funzionamento anche lontano dalla presa di corrente
Recensione Nothing Phone 4(a): sempre iconico ma ora più concreto
Recensione Nothing Phone 4(a): sempre iconico ma ora più concreto
Nothing con il suo nuovo Phone 4(a) conferma la sua identità visiva puntando su una costruzione che nobilita il policarbonato. La trasparenza resta l'elemento cardine, arricchita da una simmetria interna curata nei minimi dettagli. Il sistema Glyph si evolve, riducendosi nelle dimensioni ma aumentando l'utilità quotidiana grazie a nuove funzioni software integrate e notifiche visive. Ecco tutti i dettagli nella recensione completa
Corsair Vanguard Air 99 Wireless: non si era mai vista una tastiera gaming così professionale
Corsair Vanguard Air 99 Wireless: non si era mai vista una tastiera gaming così professionale
Nelle ultime settimane abbiamo provato la Corsair Vanguard Air 99 Wireless, una tastiera tecnicamente da gaming, ma che in realtà offre un ampio ventaglio di possibilità anche al di fuori delle sessioni di gioco. Flessibilità e funzionalità sono le parole d'ordine di una periferica che si rivolge a chi cerca un prodotto capace di adattarsi a ogni esigenza e ogni piattaforma
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 15-05-2008, 08:35   #1
braian
Member
 
L'Avatar di braian
 
Iscritto dal: Apr 2007
Messaggi: 153
[Office-openoffice] Programma con form

Avrei la necesità di creare un programmino leggero con office o openoffice che compia piccole operazioni.
Vorrei creare una form che abbia un textbox , una combobox che prenda dati da una query su db, un'altra combo che faccia altrettanto con un altra query ma che cambi i valori che si possono scegliere a seconda della scelta della prima (quindi cambi query), e un tasto submit che faccia eseguire una calcolo sui valori scelti e lo restituisca magari su un altra textbox.

Vorrei aiuto su come poter fare. Riesco più o meno a creare la form coi controlli ma ad es. non so come far fare le scelte diverse alla seconda combo e come fare la macro.
Grazie davvero a chi volesse aiutarmi.
braian è offline   Rispondi citando il messaggio o parte di esso
Old 15-05-2008, 09:07   #2
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
E magari, prima di aprire nuovi thread, rispondere a quelli precedenti in cui si è ricevuta attenzione, no ?

http://www.hwupgrade.it/forum/showthread.php?t=1724332
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 15-05-2008, 09:29   #3
braian
Member
 
L'Avatar di braian
 
Iscritto dal: Apr 2007
Messaggi: 153
Hai perfettamente ragione, mi ero scordato di rispondere, l'ho fatto ora e prometto d fare meglio in futuro!! Se potessi darmi una manina in quest'altra situazione...
Grazie
braian è offline   Rispondi citando il messaggio o parte di esso
Old 15-05-2008, 09:58   #4
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Bene.
Io ti consiglio ovviamente di usare Office ( preferibilmente 2003 o 2007 ).
Perciò userei Excel come applicazione, che estrae i dati da Access e ha il miglior supporto alle form di tutto il pacchetto Office...
Il DB Access lo hai già realizzato ? Sei già arrivato ad estrarre il recordset con VBA ?
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 15-05-2008, 10:43   #5
braian
Member
 
L'Avatar di braian
 
Iscritto dal: Apr 2007
Messaggi: 153
Per ora ho fatto un database con :
ID-NOMENAZIONE-CODICEREGIONE-FASCIAPESO-NOMEFORNITORE

In realtà avevo fatto delle prove su openoffice, così su due piedi non so come fare per creare maschere con controlli associati al database.

Non ho estratto recordset.
Grazie
braian è offline   Rispondi citando il messaggio o parte di esso
Old 15-05-2008, 14:59   #6
braian
Member
 
L'Avatar di braian
 
Iscritto dal: Apr 2007
Messaggi: 153
Chiarisco meglio: ho creato e riempito un database che al momento consiste di una sola tabella con attributi :
ID-NOMENAZIONE-CODICEREGIONE-FASCIAPESO-NOMEFORNITORE

Ho creato anche una maschera con le combo come avevo detto. Non so come fare per fare il cambio dinamico dei dati della combo come nel primo post e non so come fare per recuperare i valori dei controlli, eseguire operazioni con questi dati e associare il risultato a un altro controllo.
braian è offline   Rispondi citando il messaggio o parte di esso
Old 16-05-2008, 09:12   #7
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Quote:
Originariamente inviato da braian Guarda i messaggi
Chiarisco meglio: ho creato e riempito un database che al momento consiste di una sola tabella con attributi :
ID-NOMENAZIONE-CODICEREGIONE-FASCIAPESO-NOMEFORNITORE

Ho creato anche una maschera con le combo come avevo detto. Non so come fare per fare il cambio dinamico dei dati della combo come nel primo post e non so come fare per recuperare i valori dei controlli, eseguire operazioni con questi dati e associare il risultato a un altro controllo.
Beh, se stai facendo tutto in Access, allora userai una creazione guidata maschera.
Prima crei una Query che prende tutti i campi desiderati dalla tabella >> costruisci la tua maschera in creazione guidata, basata sulla Query appena creata, ma lascia fuori i campi che andrai ad associare poi alle ComboBox.

Apri la maschera appena creata in vis. struttura, inserisci una nuova Combo, e segui la procedura guidata creazione combo.
Scegli l'opzione "Trova un record nella maschera basato sul valore...", e associa la Combo al campo della tabella che vuoi...

Comunque in questo caso Una Query = Una Maschera.
Se non ho capito male tu all'inizio parlavi anche di una Combo "cambia-query" ?
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 16-05-2008, 11:21   #8
braian
Member
 
L'Avatar di braian
 
Iscritto dal: Apr 2007
Messaggi: 153
Grazie, si volevo fare 2 combo di cui la seconda aggiornava i suoi valori quando si cambiano i valori della prima... stile javascript... Vorrei prendere i valori della seconda da una query così come quelli della prima. Ho provato anche a creare del codice VBA pechè dovrei fare delle operazioni confrontando i valoi passati tramite la combo o una textbox con quelli presenti nel db ma non ci sono riuscito....quindi:
Come ci si collega al nostro db in vba?
Come si eseguono le query?

ho provato così ma ho dei problemi

Codice:
Private Sub Comando7_Click()
   Dim conn As ADODB.Connection
   Dim rs As ADODB.Recordset 
   Dim stringa As String
   stringa = "Select * FROM costi WHERE Nazione = Francia AND Peso = 2; "
   Set conn = CurrentProject.Connection
   Set rs = New ADODB.Recordset
   rs.Open stringa, conn
   If rs.EOF Then
      MsgBox "Nessun dato"
   Else
      Testo4.SetFocus
      Testo4.Value = rs("tariffa")
   End If
   Set cn = Nothing
   Set rs = Nothing


End Sub

dice che ci sono problemi con i parametri in rs.Open stringa, conn
...altra domanda nelle query dove si devono mettere le "" tipo where x="ciao" come si fa? perchè mi da problemi di fine comando


Spero di non avere chiesto troppe cose insieme ma contribuiscono tutte alla cosa che sto facendo.

Grazie ancora
braian è offline   Rispondi citando il messaggio o parte di esso
Old 17-05-2008, 11:27   #9
braian
Member
 
L'Avatar di braian
 
Iscritto dal: Apr 2007
Messaggi: 153
UP, ....se pensate che sia meglio faccio più 3d per fare le domande...
braian è offline   Rispondi citando il messaggio o parte di esso
Old 17-05-2008, 14:14   #10
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Quote:
Originariamente inviato da braian Guarda i messaggi
volevo fare 2 combo di cui la seconda aggiornava i suoi valori quando si cambiano i valori della prima... stile javascript... Vorrei prendere i valori della seconda da una query così come quelli della prima. Ho provato anche a creare del codice VBA pechè dovrei fare delle operazioni confrontando i valoi passati tramite la combo o una textbox con quelli presenti nel db ma non ci sono riuscito....quindi:
Come ci si collega al nostro db in vba?
Come si eseguono le query?

ho provato così ma ho dei problemi

Codice:
Private Sub Comando7_Click()
   Dim conn As ADODB.Connection
   Dim rs As ADODB.Recordset 
   Dim stringa As String
   stringa = "Select * FROM costi WHERE Nazione = Francia AND Peso = 2; "
   Set conn = CurrentProject.Connection
   Set rs = New ADODB.Recordset
   rs.Open stringa, conn
   If rs.EOF Then
      MsgBox "Nessun dato"
   Else
      Testo4.SetFocus
      Testo4.Value = rs("tariffa")
   End If
   Set cn = Nothing
   Set rs = Nothing


End Sub
Andiamo con ordine :

1. Se fai tutto in Access ci sono buone probabilità che tu non debba usare alcun codice VBA ( io avevo parlato di VBA perchè inizialmente ti avevo consigliato du usare le Form di Excel, non quelle di Access... ).
Se vuoi che il cambiamento su una Combo "pilota" ti permetta di scorrere i record della maschera, devi fare una procedura guidata creazione maschera, come ti ho già detto.

2. Quella SELECT è ovvio che non funziona, per 2 motivi :

- se nella tabella hai un campo NOMENAZIONE, poi non puoi richiamarlo come Nazione dalla Select.

- WHERE NOMENAZIONE = 'Francia' .

3. In generale puoi avere più controlli su una stessa maschera di Access, e senza codice VBA, che fanno riferimento a Query differenti >> Prima ti crei le Query in Access, magari parametriche, le salvi, e poi associando i controlli della maschera alle query, esegui i confronti...

4. Sarebbe molto più semplice se facessi un esempio concreto per volta di ciò che vuoi ottenere. Spesso la gente non risponde ai thread perchè il tempo è scarso, e se inoltre bisogna star lì ad interpretare ciò che uno chiede è meglio lasciar perdere.
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 21-05-2008, 12:46   #11
braian
Member
 
L'Avatar di braian
 
Iscritto dal: Apr 2007
Messaggi: 153
Allora...ricapitolo la situazione:
ho creato un database in ACCESS con una sola tabella tariffe coi seguent campi:
ID-NAZIONI-PROVINCE-FORNITORI-TIPOSPED-PESOMIN-PESOMAX-PREZZO

ed ho creato per ora le query :
1)select distinct nazioni from tariffe;
2)select distinct province from tariffe where nazioni = "Estonia";
3)select distinct province from tariffe where nazioni = "Lettonia";

ho poi creato sempre in access una maschera con 2 caselle combinatorie.
Alla prima ho associato la query 1 e vorrei che le opzioni della seconda fossero i risultati delle query 2 o 3 a seconda della scelta della prima casella combinatoria.

Se ho ben capito dovrebbe essere possibile senza meyttere mano al codice.Come si fa?

Infine vorrei inserire un pulsante e un campo testo dove alla pressione del pulsante eseguo una funzione utilizzando i valori selezionati dalle combo e restituisco il risultato nel campo testo.

Come posso fare? Quì forse va messo mano a vba?
Grazie
braian è offline   Rispondi citando il messaggio o parte di esso
Old 22-05-2008, 10:09   #12
braian
Member
 
L'Avatar di braian
 
Iscritto dal: Apr 2007
Messaggi: 153
up HELP.....

ho trovato le seguenti soluzioni su google ma non me ne funziona nemmeno una...
1) aggiungere una afterupdate alla prima combo così:
Private Sub combo1_AfterUpdate()
Me.combo2.RowSource = "SELECT provinceCap FROM tariffe
WHERE nazioni = " & Me.combo1
End Sub

2) basare l'origine record della maschera su una query di questo tipo :

SELECT *
FROM tariffe
WHERE (((nazioni) LIKE nz([forms]![Maschera1]![combo1],"*")) AND ((tariffe.[provinceCap]) LIKE nz([forms]![Maschera1]![combo2],"*")));

e poi crear gli after update in questo modo...

Private Sub combo1_AfterUpdate()
Me.Requery
combo1.Requery
combo2.Requery
End Sub

Private Sub combo2_AfterUpdate()
Me.Requery
combo1.Requery
combo2.Requery
End Sub


ma nessuna funziona o lameno mi pare

AIUTOOOOOOOOOOOOOO
braian è offline   Rispondi citando il messaggio o parte di esso
Old 22-05-2008, 11:11   #13
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Io invece farei così :

1. Anzitutto le query :

Query1 :
Codice:
SELECT DISTINCT tariffe.NAZIONI 
FROM tariffe;
Query2 (parametrica) :
Codice:
SELECT DISTINCT tariffe.PROVINCE 
FROM tariffe
WHERE tariffe.NAZIONI = [nazione];
Le tue Query2 e Query3 le puoi cestinare.

2. Ho una maschera con 2 combo che chiamo "cmbNaz" e "cmbProv".
- cmbNaz è associata direttamente a Query1.
- cmbProv non è associata.

3. cmbNaz contiene già tutte le nazioni all'avvio della maschera, mentre la cmbProv si popola di conseguenza, con questo codice :

Codice:
Private Sub cmbNaz_Change()

    Dim naz As String
    cmbNaz.SetFocus
    If cmbNaz.Text <> "" Then naz = cmbNaz.Text
    Dim QD As QueryDef
    Set QD = CurrentDb.QueryDefs("Query2")
    QD.Parameters("nazione") = naz
    Dim RS As Recordset
    Set RS = QD.OpenRecordset
    Dim i As Integer
    i = 0
    For i = 0 To cmbProv.ListCount - 1
        cmbProv.RemoveItem (0)
    Next i
    RS.MoveFirst
    While Not RS.EOF
        cmbProv.AddItem (RS("PROVINCE").Value)
        RS.MoveNext
    Wend
    cmbProv.SetFocus
    cmbProv.Text = cmbProv.ItemData(0)
    RS.Close
    QD.Close
    Set RS = Nothing
    Set QD = Nothing

End Sub
Prova...
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 22-05-2008, 12:45   #14
braian
Member
 
L'Avatar di braian
 
Iscritto dal: Apr 2007
Messaggi: 153
Ti ringrazio moltissimo, solo che ho il seguente errore quando faccio la selezione:
mi si apre una finestra che dice:

Errore di runtime '3601'
Parametri insufficenti, previsto 2

e se apro il debug sembra che il problema risieda in :

Set RS = QD.OpenRecordset

help again
braian è offline   Rispondi citando il messaggio o parte di esso
Old 22-05-2008, 13:09   #15
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Da me funziona perfettamente invece ( Access 2003 ).
Tua versione di Access ?
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 22-05-2008, 14:15   #16
braian
Member
 
L'Avatar di braian
 
Iscritto dal: Apr 2007
Messaggi: 153
La mia è 2007, ora ci riprovo da capo... scusa, non è che puoi darmi qualche commento in più sul codice?
In particolare non ho capito il significato di <> "" nella riga 5 e il comando next i.
Grazie ancora
braian è offline   Rispondi citando il messaggio o parte di esso
Old 22-05-2008, 14:34   #17
braian
Member
 
L'Avatar di braian
 
Iscritto dal: Apr 2007
Messaggi: 153
Benissimo, grazie a Dio funziona davvero, ho risolto... avevo una serie di problemi:
la cmbProv non si chiamava così,
L' attributo province lo chiamavo provinceCap
Dovevo impostare il tipo origine riga di CmbProv come elenco valori
Grazie Mille ancora, se puoi mi dai due commenti per quello che ti ho chiesto?
Ultima cosa (o quasi)... è possibile fare il deploy del progetto access (per chi ha access)nel senso di creare un file che esegua direttamente la maschera?

Poi ora dovrei inserire un bottone che prende i valori dalle combo e da un campo text, fa una funzione e restituisce il valore su una text....ma guardo se ci arrivo da solo senza rompere oltre.

Ultima modifica di braian : 22-05-2008 alle 14:43.
braian è offline   Rispondi citando il messaggio o parte di esso
Old 23-05-2008, 10:16   #18
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Quote:
Originariamente inviato da braian Guarda i messaggi
Benissimo, grazie a Dio funziona davvero, ho risolto... avevo una serie di problemi:
la cmbProv non si chiamava così,
L' attributo province lo chiamavo provinceCap
Dovevo impostare il tipo origine riga di CmbProv come elenco valori

Perchè avevi qualche dubbio che non funzionasse ?

Quote:
Originariamente inviato da braian Guarda i messaggi
Grazie Mille ancora, se puoi mi dai due commenti per quello che ti ho chiesto?
Ultima cosa (o quasi)... è possibile fare il deploy del progetto access (per chi ha access)nel senso di creare un file che esegua direttamente la maschera?
If cmbNaz.Text <> "" Then naz = cmbNaz.Text
Esegue un semplice controllo di sicurezza sul fatto che in quel momento la cmbNaz non stia mostrando una stringa vuota...
Qui si potrebbe inserire un codice opportuno, nel caso si verifichi ( a volte il comportamento dei controlli su Access Forms è "anomalo"... ) ma se va sempre liscio lo lasci pure così com'è...

Next i
non è altro che l'istruzione di chiusura del For precedente ( in VB non è richiesto che si ripeta "i" dopo Next, ma io lo faccio sempre > quando creerai routines con 300 righe e 5 For nidificati capirai il perchè ).
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 23-05-2008, 12:14   #19
braian
Member
 
L'Avatar di braian
 
Iscritto dal: Apr 2007
Messaggi: 153
Ripeto l'ultama domanda che ho fatto... per altre cose prometto di aprire nuovi 3d....

E' possibile fare il deploy del progetto access (per chi ha access)nel senso di creare un file che esegua direttamente la maschera?
braian è offline   Rispondi citando il messaggio o parte di esso
Old 23-05-2008, 13:05   #20
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Quote:
Originariamente inviato da braian Guarda i messaggi
E' possibile fare il deploy del progetto access (per chi ha access)nel senso di creare un file che esegua direttamente la maschera?
Se stai pensando ad un .exe di Access, e che magari non necessiti di avere Access sulla macchina del cliente, temo proprio non si possa fare.
Quello che puoi fare è convertire il tuo DB in un file "compilato" .mde, che permette all'utente di fare tutto, ma non di vedere/modificare il codice VBA ( la modalità progettazione sulle maschere è disabilitata ).
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


PC Specialist Lafité 14 AI AMD: assemblato come vuoi tu PC Specialist Lafité 14 AI AMD: assemblat...
Recensione Nothing Phone 4(a): sempre iconico ma ora più concreto Recensione Nothing Phone 4(a): sempre iconico ma...
Corsair Vanguard Air 99 Wireless: non si era mai vista una tastiera gaming così professionale Corsair Vanguard Air 99 Wireless: non si era mai...
Ecovacs DEEBOT T90 PRO OMNI: ora il rullo di lavaggio è ampio Ecovacs DEEBOT T90 PRO OMNI: ora il rullo di lav...
Recensione Samsung Galaxy S26 Ultra: finalmente qualcosa di nuovo Recensione Samsung Galaxy S26 Ultra: finalmente ...
Scivolone ASRock: annuncia il Ryzen 9 99...
DLSS 5: NVIDIA spiega il funzionamento, ...
PlayStation come NVIDIA DLSS: Sony punta...
OnePlus Nord 6 sta arrivando e avr&agrav...
CPU desktop: Intel dice addio ai socket ...
Google sta testando un'app di Gemini per...
NVIDIA GeForce RTX 5070 Laptop: in arriv...
Il Tribunale di Roma ha annullato la mul...
AppleCare One potrebbe arrivare presto i...
Amazon ci riproverà: l'azienda st...
Apple e Samsung dominano la classifica d...
Un game designer di 9 anni, due fogli a ...
Il weekend Amazon parte col botto: gross...
Amazfit Active 2 scende a 69,99€: i migl...
Smart TV No IVA su Amazon: QLED, Mini-LE...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 18:23.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v