Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Test ride Can-Am Origin: la moto elettrica che fa dimenticare il motore a scoppio (ma occhio all'autonomia)
Test ride Can-Am Origin: la moto elettrica che fa dimenticare il motore a scoppio (ma occhio all'autonomia)
Abbiamo provato per una settimana intera la Can-Am Origin, la Dual Sport elettrica del gruppo canadese BRP: ecco com'è andata tra città, autostrada e un primo assaggio di sterrato
Logitech G325, G305 e G316 X: il tris per chi non vuole rinunciare a nulla, spendendo poco
Logitech G325, G305 e G316 X: il tris per chi non vuole rinunciare a nulla, spendendo poco
Nelle ultime settimane abbiamo provato il mouse Logitech G305, la tastiera G316 X 98 e le cuffie G325. Si tratta del setup entry-level di Logitech che ormai, di "entry-level" ha ben poco. Tastiera e mouse offrono prestazioni di livello competitivo con quasi nessuna rinuncia e un livello di personalizzazione estremamente elevato. Le cuffie, invece, hanno mostrato qualche debolezza, ma propongono un ventaglio di funzionalità completo che consente di abbandonare completamente i cavi
Recensione POCO F9 pro: potenza da vero top di gamma, display da 185 Hz e finalmente una fotocamera da prendere sul serio
Recensione POCO F9 pro: potenza da vero top di gamma, display da 185 Hz e finalmente una fotocamera da prendere sul serio
POCO F9 Pro arriva sul mercato con l'obiettivo di portare prestazioni da smartphone top di gamma in una fascia di prezzo "più aggressiva", senza rinunciare a un comparto fotografico finalmente all'altezza. Dopo averlo testato sul campo, emerge uno smartphone molto più completo rispetto alla generazione precedente, ma anche con alcuni piccoli compromessi che diventano difficili da ignorare quando il prezzo di listino sfiora i 1.000 euro.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 15-05-2008, 07: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, 08: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, 08: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, 08: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, 09: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, 13: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, 08: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, 10: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, 10: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, 13: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, 11: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, 09: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, 10: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, 11: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, 12: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, 13: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, 13: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 13:43.
braian è offline   Rispondi citando il messaggio o parte di esso
Old 23-05-2008, 09: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, 11: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, 12: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


Test ride Can-Am Origin: la moto elettrica che fa dimenticare il motore a scoppio (ma occhio all'autonomia) Test ride Can-Am Origin: la moto elettrica che f...
Logitech G325, G305 e G316 X: il tris per chi non vuole rinunciare a nulla, spendendo poco Logitech G325, G305 e G316 X: il tris per chi no...
Recensione POCO F9 pro: potenza da vero top di gamma, display da 185 Hz e finalmente una fotocamera da prendere sul serio Recensione POCO F9 pro: potenza da vero top di g...
Tra audio e AI: la ricetta di Qualcomm per l'agentic AI Tra audio e AI: la ricetta di Qualcomm per l'age...
Qualcomm annuncia la nuova generazione di SoC Snapdragon 8 Elite Gen 6 Qualcomm annuncia la nuova generazione di SoC Sn...
L'ESA risponde alle critiche di Jared Is...
La NASA annuncia il nuovo telescopio spa...
HONOR pubblica The Sea Between Us, un co...
L'Olanda punta su NixOS e open source pe...
OPPO Find X10 Pro Max, il flagship con t...
Gli smartphone Samsung potrebbero avere ...
GeForce Now arriverà sui Googlebo...
Opus 5.5 e GPT-6 Sol nello stesso pomeri...
Weekend Amazon, le prime 5 offerte sono ...
Mini Compressore a 21,84€: gonfia le gom...
Gemini si aggiorna, ora può conne...
Da 32 a 65 pollici: ecco le TV più...
Xiaomi Redmi Note 17 a 269€: ecco perch&...
ASUS avverte i clienti: accesso non auto...
Già record di vendite su Amazon p...
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: 15:07.


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