Newsgroup: it.comp.lang.visual-basic
Titolo: Come si creano le stored procedure?

Come si creano le stored procedure con Access 97?


non mi risulta che access 97 abbia le stored procedure... al massimo ha
delle querydef;
in quel caso dovrebbe esistere un metodo opportuno;
se non ricordo male esiste un metodo opportuno dell'oggetto database
(CreateQueryDef); in ogni caso consulta la guida di MS DAO oppure limitati a
dare una sbirciata con l'object browser (tasto F2 da VB) per verificare
quale sia il metodo opportuno;
tieni presente che una querydef di access non č nient'altro che una semplice
istruzioni SQL (ben altra cosa sono le stored procedure);
ciao





 


STORED PROCEDURE CON 
PARAMETRI IN INPUT


 


 


Public Function 
CostruzioneIDTARIFFA()
    Dim cnn As 
Connection
    Dim qdf As QueryDef
    Dim 
rst As Recordset
    Dim strCmd As 
String
    Dim wrkODBC As Workspace
    

    DefaultType = dbUseODBC
    Set wrkODBC 
= CreateWorkspace("NewODBCWorkspace", 
_
        "admin", "", 
dbUseODBC)


 


    Set cnn = 
wrkODBC.OpenConnection("", _
        
dbDriverNoPrompt, False, _
        
"ODBC;dsn=acquedotto;database=acquedotto;uid=sa;pwd=")


 


  
    strCmd$ = "Create 
proc GetDataFrom" & _
        " 
(@CodTar int ," & _
        " @CodCoef 
int)" & _
        " as select * from 
TariffeAcqua" & _
        " where 
CodiceTariffa = @Codtar"
    cnn.Execute strCmd$


 


    Set qdf = 
cnn.CreateQueryDef("myquery", "{call GetDataFrom (?,?)}")
    'I PUNTI INTERROGATIVI CORRISPONDONO 
AL
    qdf.Parameters(0) = DESCRTARIFFA
                                                    'NUMERO 
DI PARAMETRI CHE PASSI ALLA 
    
qdf.Parameters(0).Direction = dbParamInput
                                           'STORED, 
IN QUESTO CASO 2
    qdf.Parameters(1) = 
COEFF
    qdf.Parameters(1).Direction = dbParamInput
  

    ' Get the data.
    Set rst = 
qdf.OpenRecordset()
    If Not rst.EOF 
Then
        ' Print out the 
data.
        While Not 
rst.EOF
            If 
rst!IDCOMUNE = COMUNE 
Then
                
CODTARIFFA = 
rst!IDTARIFFA
            
End If
            
rst.MoveNext
        
Wend
    Else
        
CODTARIFFA = 0
    End If
    
rst.Close
    qdf.Close
    strCmd = "DROP 
PROCEDURE GetDataFrom"
    cnn.Execute 
strCmd
    ' Close the connection to the 
database.
    cnn.Close
End Function


 


 


SPERO DI ESSERTI 
STATA UTILE CIAO MANUELA



Ciao, Manuela
Complimenti ! Sei molto preparata e le tue risposte sono precise ed
esaurienti.
Ciao, vito
-- 
Posted from 
smtp4.libero.it
 [193.70.192.54] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

Brrr....grazie per la risposta, ma esula un po' dal problema.
In effetti il problema è un'altro:
non riesco a fare delle query come voglio io (parametrizzate) e quando
voglio io (ovvero quando devo cambiare il parametro) utilizzando il bastardo
Data Environment.
Se mi dici di usare un'altra cosa ti rispondo che sono costretto perchè è
l'unico modo per dar da mangiare all'oggetto Data Report di VB6.
    Moretto Manuela ha scritto nel messaggio
<13CBCA4622AFD411B5E200508B9AAC420184A0@SITELCN01>...
    STORED PROCEDURE CON PARAMETRI IN INPUT
    Public Function CostruzioneIDTARIFFA()
    [...]



Ciao
io non utilizzo il DataEnvironment :-((
ma se ti può essere utile ...
'cn è una connessione ado
dim myIns as string
dim myCmdIns as adodb.command
    Set myCmdIns.ActiveConnection = Cn
    myIns = "INSERT INTO <nomeTabella> VALUES (?,?,?)"
    myCmdIns.CommandText = myIns
    myCmdIns.Prepared = True
    myCmdIns.CommandType = adCmdText
    myCmdIns.Parameters.Append myCmdIns.CreateParameter("<NomePar1>",
adChar, adParamInput, 6)
    myCmdIns.Parameters.Append myCmdIns.CreateParameter("<NomePar2>",
adChar, adParamInput, 50)
    myCmdIns.Parameters.Append myCmdIns.CreateParameter("<NomePar3>",
adChar, adParamInput, 50)
    myCmdIns.Execute
Azz !!! prima che qualcuno mi corregga :
With myCmdIns
    .CommandText = myIns
    .Prepared = True
    .CommandType = adCmdText
    .Parameters.Append myCmdIns.CreateParameter ....
    ....
end with
Ciao
Franco L.

 l'unico modo per dar da mangiare all'oggetto Data Report di VB6.
Potresti "dar da mangiare" al DataReport con un po' di codice....
<Code>
Set objRecordset = <Chiamata funzione che restituisce il recordset da
stampare>
Set DataReport.DataSource = objRecordset
With DataReport.Sections("Section1").Controls
   .Item("Text1").DataField = "Campo1"
   .Item("Text2").DataField = "Campo2"
   ..........................
   .Item("TextN").DataField = "CampoN"
End With
<End Code>
Spero che questo possa esserti di aiuto
Un saluto
    Andrea

Ci provo subito, grazie comunque.
Ciao da FabioDB
Andrea Magnanimi <XXXa.ma...@tiscalinet.itXXX> wrote in message
900ndh$3lg8$1...@stargate1.inet.it...
