Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
SQL Server 2000/2005/2008, Express, Access, MySQL, Oracle
Nuovo Arrivato
mercoledì 29 settembre 2004 - 19.42
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Kuma11
Profilo
| Newbie
21
messaggi | Data Invio:
mer 29 set 2004 - 19:42
Ciao a tutti come prima cosa volevo salutarvi dato ce da ora che vi ho trovati vi farò visita di frequente. Comincio subito col primo quesito: Sto creando un database in access e voglio che il campo in una tabella prenda un determinato valore in base al button che l'utente selezionerà. Specifico: la maschera dà la possiblità di scegliere tra due pulsanti che aprono un'altra maschera, la stessa per entrambi i tasti, solo che in questa c'è un campo che prenderà il nome del tasto premuto, come posso fare con visual basic? grazie e a presto
trinity
Profilo
| Guru
3.465
messaggi | Data Invio:
gio 30 set 2004 - 09:31
Spiegati meglio, il nome della maschera(form) deve prendere il nome del pulsante e questo deve essere salvato in una tabella di access? Quale visual basic utilizzi?
Ciao
Fabio
Kuma11
Profilo
| Newbie
21
messaggi | Data Invio:
gio 30 set 2004 - 18:34
Non so quale sia la versione di visual basic, sto lavorando con AccessXP e essendo abituata a programmare con VisualBasic6 trovo alcune differenze. Forse ho esposto male il problema, lo riformulo con un esempio: Ho una maschera con due pulsanti, pulsante1 e pulsante2. Premendo questi tasti si apre un'altra maschera relativa a una tabella che, tra i vari campi ne contiene uno chiamato NomePulsante che prenderà valore pulsante1(se precedentemente è stato premuto il pulsante1) o pulsante2(se precedentemene, nella maschera precedente, è stato premuto il pulsante2). In sostanza, come faccio a portare un valore da una maschera a un'altra? Per ora grazie per l'attenzione, sicuramente sarà una fesseria ma ho tanti problemini da risolvere e sono un pò fusa. Ciao
Kuma11
Profilo
| Newbie
21
messaggi | Data Invio:
gio 30 set 2004 - 18:42
Ora che ci sono ne approfitto per porre altri due quesiti:
1) Devo sommare una certa categoria di dati presi da una query, e portare il risultato in una maschera. Ho provato a usare la funzione DSum, ma non riesco a impostare due criteri come ad esempio, Somma("Prezzo", "QueryDov'è il Prezzo","Dato1=mioDato AND Dato2=True"), Dato2 è di tipo Si/No. Ci sarà sicuramente un modo per farlo...
2)L'oggetto ADODB è uguale all'oggetto ADODC?
3)Non prevista:se avessi qualche alta richiesta devo aprire un nuovo Thread?
Grazie ancora
trinity
Profilo
| Guru
3.465
messaggi | Data Invio:
gio 30 set 2004 - 18:52
Se il genere è diverso si è meglio che apri un nuovo thread..
Per quanto riguarda la differenza tra adodb e adodc non ti posso di nulla per quest'ultimo non l'ho mai utilizzato, solo che se passi
a vb net ti consiglio di utilizzare l'ado net che è potente..potresti utilizzare la sintassi sql e precisamente il parametro Sum, questo ti permette di sommare il valore dei campi di un database che gli specifici..
Ciao
Kuma11
Profilo
| Newbie
21
messaggi | Data Invio:
dom 3 ott 2004 - 11:29
ADODB e ADODC sono molto simili solo che in ADODB non riesco a capire quando trova il record che gli dico di cercare tramite la stringa sql e questo mi disturba. In ADODC impostavo il RECODSOURCE con un'istruzione sql poi tramite il comando RECORDSET.RECORDCOUNT riuscivo a vedere se aveva trovato il record che specificavo nella RECORDSOURCE. Questo mi serve perchè se trova ciò che cerco, verranno svolte certe azioni, altrimenti ne verranno eseguite altre. Potresti darmi qualche consiglio sull'utilizza di ADODB? Grazie
trinity
Profilo
| Guru
3.465
messaggi | Data Invio:
lun 4 ott 2004 - 09:40
Il discorso è che quando per esempio te utilizzi una query sql del tipo SELECT, ovviamente stai ricercando uno o + record e successivamente farai classicamete un ciclo while per caricare gli eventuali record trovai o in rari casi un'istruzione if..end if..cmq in entrambi i casi se il recordset è vuoto significa che la query non ha trovato record e di conseguenza il ciclo non verrà terminato...
Ciao
ps ti serve qualche sempio di codice adodb?
Kuma11
Profilo
| Newbie
21
messaggi | Data Invio:
lun 4 ott 2004 - 19:09
Si mi serve eccome!!!!!!! Ti ringazio infinitamente. Ciao
trinity
Profilo
| Guru
3.465
messaggi | Data Invio:
mar 5 ott 2004 - 09:30
Prima di tutto devi aggiungere al progetto il file adodb.dll
dopo segui queste istruzioni:
dichiarazione di connessione al database:
Public db As New ADODB.Connection()
db.ConnectionString = "DSN=nome_database" ''ho usato il dsn di sistema perchè utilizzo come database mysql
db.Open()
dichiaro un tabella
Public nome_tabella As New ADODB.Recordset()
faccio una ricerca nella tabella e apro un ciclo while:
Nome_tabella.Open("SELECT * FROM nome_tabella", db, ADODB.CursorTypeEnum.adOpenForwardOnly, ADODB.LockTypeEnum.adLockOptimistic)
While nome_tabella.Eof=false
.......
End While
nome_tabella.Close()
Spero che ti possa essere di aiuto
Ciao
Fabio
Kuma11
Profilo
| Newbie
21
messaggi | Data Invio:
lun 11 ott 2004 - 16:57
Ho provato a interpretare il codice che mi hai dato sull'uso di ADODB, senza gran sucesso.
Come faccio a importare adodb.dll? Devo farlo via codice o modificando qualche impostazione di Access?
Sono riuscita ad aprire una connessione per effettuare una ricerca ma non so come aprire la connessione a una "Tabella". Accetto suggerimenti.
Grazie infinite...
trinity
Profilo
| Guru
3.465
messaggi | Data Invio:
lun 11 ott 2004 - 18:25
Per importarti la dll ADODB devi procedere in questo modo:
1) cliccare sulla voce PROGETTO della barra degli strumenti
2) cliccare sulla voce AGGIUNGI RIFERIMENTO
3) ti apparirà una finestra chiamata: "AGGIUNGI RIFERIMENTO" con delle sottocartelle chimate: "NET", "COM", "PROGETTI".
4) nella prima cartella ossia "NET" troverai il riferimento alla dll ADODB, gli selezioni e poi clicchi sul pulsante SELZIONA e successivamente sul pulsante OK
a questo punto avrai importato nel tuo progetto la dll in questione e potrai utilizzare il codice che ti ho postato il Thread precedente.
Ciao e buona lavoro
Fabio
Kuma11
Profilo
| Newbie
21
messaggi | Data Invio:
mer 13 ott 2004 - 17:17
Per quanto riguarda l'importazione delle librerie, in VBA non è possibile, non nel modo in cui hai descritto, comunque non importa son riuscita a interpretarlo e funziona, ora ho un altro problema che riguarda l' UPDATE.
Vorrei modificare un campo(Campo1) in un record esistente di una tabella(Tabella). Ho provato a usare il seguente codice:
Private Sub SettaCampo()
Dim connc As ADODB.Command
Set connc = New ADODB.Command
sql_report = "select * from Tabella where Campo2= " & MioCampo2 & ";"
connc.ActiveConnection = CurrentProject.Connection
connc.CommandText = sql_report
connc.CommandType = adCmdText
connc.Execute
Dim repset As ADODB.Recordset
Set repset = New ADODB.Recordset
repset.Open connc
repset.Fields("Campo1") = MioCampo1 'SI BLOCCA QUI
repset.Update
End Sub
Ciò mi porta all'Errore di runtime n.'3251', ossia:
"Il Set di Record Corrente non supporta l'aggiornamento. Potrebbe trattarsi di una limitazione del provider
o del tipo di blocco selezionato".
Sto lavorando in Access2002.
C'è uno sbaglio nel codice? Come posso modificare un campo in un record esistente di una tabella come esposto sopra?
Grazie
trinity
Profilo
| Guru
3.465
messaggi | Data Invio:
mer 13 ott 2004 - 18:26
Potresti utilizzare un query sql di aggiornamento..
sql="UPDATE nome_tabella SET nome_campo='"& valore &"' WHERE campo_chiave='"& valore &"'
se non inserisci la where l'update di aggiorna tutti i record, mentre se lo vincoli con la clausola where dicendi di aggiornare solo il campo x dove(where) codice=......
ti aggiorna solo il record che ti serve..
Ciao
Fabio
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !