J'ai une requête enregistrée dans la section des requêtes. Je cours la requête de VBA. Est-il possible d'enregistrer les résultats de cette requête dans une chaîne?ms-access sauvegarde la requête dans une chaîne
Répondre
Un jeu d'enregistrements ADO a une méthode GetString
qui pourrait être utile pour vous.
J'ai une requête nommée qryListTables qui ressemble à ceci:
SELECT m.Name AS tbl_name
FROM MSysObjects AS m
WHERE
(((m.Name) Not Like "msys%"
And (m.Name) Not Like "~%")
AND ((m.Type)=1))
ORDER BY m.Name;
Notez que la requête utilise %
au lieu de *
que le caractère générique. La raison de ce choix est que ADO requiert des caractères génériques ANSI (%
et _
au lieu de *
et ?
).
je peux utiliser la fonction suivante pour cracher une chaîne contenant les noms cités des tables régulières dans ma base de données, séparés par des points-virgules, en appelant comme ceci:
? DemoGetString("qryListTables", True)
Public Function DemoGetString(ByVal pQueryName As String, _
Optional ByVal AddQuotes As Boolean = False) As Variant
'* early binding requires a reference to Microsoft ActiveX
'* Data Objects Library
'Dim rs As ADODB.Recordset
'Set rs = New ADODB.Recordset
'* use late binding; no referenced needed
Dim rs As Object
Set rs = CreateObject("ADODB.Recordset")
Dim varOut As Variant
rs.Open pQueryName, CurrentProject.Connection
If AddQuotes Then
varOut = """" & rs.GetString(2, , , """;""") '2 = adClipString
' strip off last quote
If Len(varOut & vbNullString) > 0 Then
varOut = Left(varOut, Len(varOut) - 1)
End If
Else
varOut = rs.GetString(2, , , ";") '2 = adClipString
End If
rs.Close
Set rs = Nothing
DemoGetString = varOut
End Function
Dans les jeux d'enregistrements DAO, vous pouvez faire la même chose en plaçant la sortie de GetRows dans un tableau, puis en utilisant Join() pour convertir le tableau en liste délimitée. –
Merci. J'ai d'abord cherché GetString dans DAO avant de réaliser que c'est seulement disponible dans ADO.Mais je préfère habituellement DAO, donc j'apprécie votre suggestion. – HansUp
Puisque tant de gens ici sur SO utilisent ADO, j'essaie de m'assurer que la version DAO de toutes les solutions ADO est publiée (là où cela a du sens), puisque DAO est l'interface Access-appropriée. –
Ok .. prendre un coup de feu dans l'obscurité complète ici ...
La requête que vous utilisez est littéralement une question ... penser comme sa table ... PROPRE il peut être référencé que vous serait une autre table, et peut être interrogé contre.
Si vous essayez de retourner un seul élément de chaîne basée sur un seul critère votre meilleur pari est un Dlookup:
Lookup = Nz(DLookup(string Field, string Table, string Criteria), "")
Si vous cherchez un groupe d'enregistrements:
dim tsSQL as string
stSQL = "SELECT * FROM table WHERE field=criteria"
dim toRecordset as new ADODB.Recordset
toRecordset.open stSQL, CurrentProject.AccessConnection, int Keyset, int Lock
Ensuite, vous pouvez directement accéder aux champs par:
If toRecordset.RecordCount > 0 then
String = toRecordset!FieldName
End If
Plus d'informations ... que c'est ... En outre, il fonctionne dans l'autre sens aussi bien ..
Vous pouvez faire:
toRecordset.AddNew
toRecordset!Field = Value
toRecordset.Update
J'espère que quelque part il y a une réponse pour vous.
Pour toute requête, vous pouvez modifier l'instruction select d'exemple, un à « SELECT * FROM nom de la requête » et qui devrait tirer la chose dans.
- 1. Comment écrire une requête de sélection de jointure dans MSAccess?
- 2. Créer une requête dynamiquement par le code dans MSAccess 2003 [VBA]
- 3. Comment donner une valeur de chaîne dans la requête?
- 4. créer des requêtes pendant l'exécution dans msaccess
- 5. Comment ajouter une connexion MSAccess à CodeIgniter ou CakePHP?
- 6. Problème avec une barre oblique dans une chaîne de requête
- 7. Longueur maximale de la chaîne de requête dans une requête AJAX GET?
- 8. la requête concernant la chaîne de dsn dans vba
- 9. Connexion à MSAccess avec Java
- 10. htaccess rediriger ajouter une chaîne de requête?
- 11. Quelle est la meilleure façon de mettre à jour une table MsAccess dans .NET
- 12. Linq Requête sur int utilisant la chaîne
- 13. comment passer une chaîne de requête à clignoter dans CS3?
- 14. htaccess réécriture pour la chaîne de requête
- 15. server.Transfer avec la chaîne de requête
- 16. Obtenir la chaîne de requête complète SolrQuery
- 17. Chaîne de requête css
- 18. citations Android dans une chaîne de requête SQL
- 19. Vérifier la chaîne de requête (PHP)
- 20. NHibernate: Convertir Guid en chaîne dans la requête
- 21. Résultat de la requête SQL dans une chaîne (ou une variable)
- 22. comment casser une chaîne dans la sous-chaîne dans Excel?
- 23. Comment encoder une chaîne de requête pour qu'elle soit la valeur d'une autre chaîne de requête en javascript?
- 24. asp.net MVC: Passer une chaîne de requête sous la forme d'une chaîne ou de paramètres individuels?
- 25. comment passer la chaîne de requête cryptée dans asp.net
- 26. mod_rewrite: périodes de URI passées dans la chaîne de requête
- 27. Réécrire chaîne de requête
- 28. comment puis-je appeler la procédure de sauvegarde de suppression dans LINQ requête
- 29. get chaîne de requête dans js/jquery
- 30. Trouver une chaîne dans une chaîne
Quelle est votre requête de retour? Un ensemble d'enregistrements ou un seul article? – Patrick
un jeu d'enregistrements à partir d'une table –
Vous devez clarifier votre question: avez-vous besoin d'en-têtes? ce qui sépare les valeurs des champs retournés? Les colonnes devraient-elles être de largeur fixe ou non? Qu'est-ce qui sépare les rangées? Est-ce pour l'affichage ou pour l'enregistrement dans un fichier? –