
09-09-10, 02:47
|
 | Super Moderator Όνομα: Γιάννης Έκδοση λογισμικού Office: Ms-Office 2007 Γλώσσα λογισμικού Office: Ελληνική, Αγγλική | | Εγγραφή: 12-10-2009 Περιοχή: Ηγουμενίτσα
Μηνύματα: 161
| |
Καλημέρα σε όλους!
Το ίδιο "τραγούδι" αλλά σε λίγο διαφορετική εκτέλεση: Κώδικας: Function GetFlexQuery(TableName As String, _
Optional QueryName As String, _
Optional Pattern As String) As Recordset
Dim strSQL As String
Dim fld As Field
Dim flds As Fields
On Error Resume Next
Set flds = CurrentDb.TableDefs(TableName).OpenRecordset.Fields
If Not flds Is Nothing Then
strSQL = strSQL & "SELECT [" & flds(0).Name & "]"
If Len(Pattern) Then
For Each fld In flds
If fld.Name Like Pattern Then
strSQL = strSQL & ", [" & fld.Name & "]"
End If
Next fld
End If
strSQL = strSQL & " FROM [" & TableName & "]"
Debug.Print strSQL
If Len(QueryName) Then
With DoCmd
.Close acQuery, QueryName, acSaveNo
.DeleteObject acQuery, QueryName
CurrentDb.CreateQueryDef QueryName, strSQL
Debug.Print "QueryDef """ & QueryName & """ created!"
Application.RefreshDatabaseWindow
'.OpenQuery QueryName
End With
End If
Set GetFlexQuery = CurrentDb.OpenRecordset(strSQL)
End If
End Function
Sub TestFlexQuery()
GetFlexQuery "Table1", "Query1", "a*"
Debug.Print GetFlexQuery("Table1", , "b*").Fields.Count
End Sub
Φίλε συνονόματε, ελπίζω τα ονόματα των πεδίων να μην είναι διευθύνσεις κελιών του EXCEL...!
Τα λέμε!
Γιάννης
__________________ Αν δεν το ρωτούσες, δεν θα το μαθαίναμε ποτέ...! 
----------------------------------------------- Τελικά η γνώση, αντίθετα με ό,τι μέχρι σήμερα πίστευα, είναι η φυλακή της σκέψης.
Όταν η αφετηρία είναι η ελεύθερη σκέψη, δεν χρειάζεται πλέον να φτάσεις πουθενά! |