2010-08-18 13 views
0

S'il vous plaît trouverez ci-dessous le code ..Question connexe Fiche de jeu d'enregistrements dans la base de données de connectivité

Function Connect_to_db(Byval mfgprt) 

    Dim cnn,rss 
    Set cnn = CreateObject("ADODB.Connection") 
    Set rss = CreateObject("ADODB.recordset") 
    cnn.ConnectionString = "DSN=QTPDSN;Description=desc;UID=;PWD=;APP=QuickTest Professional;WSID=;DATABASE=;" 

    cnn.open 
    rss = cnn.Execute (""select UnitPrice from ProductProfilePrices where MfPartNumber ='" + mfgprt + "'") 

    Connect_to_db=rss(0) 
End Function 

Dans cette fonction, si je change un prix unitaire de nom de colonne dans la requête avec « * » il retournera plus d'un valeur .. dans ce cas, comment utiliser rss .....

Comme si je vais le faire (remplacer le prix unitaire par '*'), alors pendant l'exécution il remplit une erreur .. dans la récupération de données rss. s'il vous plaît en faisant de même modifier le code .....

Merci, Galstar

+0

J'ai peur de ne pas voir où cela va. Que voulez-vous renvoyé? S'il vous plaît montrer un peu de données et ce que vous voulez revenir dans votre requête. – Fionnuala

+0

Maintenant, vérifiez le code édité .. Ici, j'accède uniquement à la valeur du prix .. Donc, il fonctionne bien .. Mais si je veux la quantité trop ... signifie vouloir retourner aux valeurs ... Quantité et prix.Mais dans dans ce cas, Connect_to_db = rss (0) montre l'erreur ... .. Je veux que les deux soient sauvegardés dans Datasheet ..... Comment le faire ??? – galstar

Répondre

1

Vous pouvez vous référer aux champs par leur nom, mais d'abord rss doit être un objet, utilisez donc ensemble, aussi la chaîne concaténateur est &:

Set rss = cnn.Execute (""select UnitPrice, Quantity " _ 
& " from ProductProfilePrices where MfPartNumber ='" & mfgprt & "'") 

''Let us say that only one row is returned for mfgprt : 

varUnitPrice = rss("UnitPrice") 
varQuantity = rss("Quantity") 

EDIT concernant des commentaires

Connect_to_db "AAA", Val1, Val2 
MsgBox Val1 & " " & Val2 


Function Connect_to_db(ByVal mfgprt, ByRef Val1, ByRef Val2) 
Dim cnn, rss 
Set cnn = CreateObject("ADODB.Connection") 
Set rss = CreateObject("ADODB.recordset") 
cnn.ConnectionString = "DSN=QTPDSN;Description=desc;" _ 
    & "UID=;PWD=;APP=QuickTest Professional;WSID=;DATABASE=;" 

cnn.Open 
rss = cnn.Execute("select UnitPrice, Quantity " _ 
    & " from ProductProfilePrices where MfPartNumber ='" & mfgprt & "'") 

Val1 = rss(0) 
Val2 = rss(1) 
End Function 
+0

Merci pour la réponse .... alors que faire avec .. "Connect_to_db = rss (0) que c'est pour retourner la valeur en fonction ..... – galstar

+0

Si vous souhaitez retourner plus d'une valeur à un autre procédure, vous pouvez passer les noms à retourner à cette fonction ou vous pouvez retourner un tableau (rss.GetRows) Dans l'exemple ci-dessus, rss (o) = rss ("UnitPrice") rss (1) serait la colonne suivante (field) selected – Fionnuala

+0

Salut j'ai eu le point ce que vous voulez transmettre que sauvegarder les valeurs en rss comme rss (0) = rss (prix unitaire) rss (1) = rss («quantité») ..now comment retourner ces valeurs grâce à la fonction dans différentes variables ... connect_to_db = rss montre une erreur car ce n'est pas correct ... S'il vous plaît aidez-moi ........ d'abord pour l'épargne que j'avais l'habitude de faire, a = connect_to_db (x) comme je veux seulement un col valeur..mais maintenant je veux deux valeurs de col .. plz donnez-moi quelques conseils :( – galstar