WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   kleines vb problem (http://www.wcm.at/forum/showthread.php?t=97450)

AIRNESS 20.05.2003 10:06

kleines vb problem
 
hallo an alle!

quäl mich gerade zum ersten mal mit vb herum ...

bräuchte nämlich folgendes für ne access datenbank ...

wenn ich auf ein unterformular zugreife, hätte ich gerne, dass die daten in diesem unterformular aktualisiert werden ->

hab das zuerst mit einem makro versucht welches ich im access erstellt habe, jedoch tat sich gar nichts. es kam weder eine fehlermeldung noch sonst was ...

wie genau lautet der syntax für die aktualisierung eines formulars oder einer tabelle im vb.

thx for help

reemrev 20.05.2003 10:28

Dieses Beispiel aktualisiert mit der RefreshLink-Methode die Daten in einer verknüpften Tabelle, nachdem die Verbindung von einer Datenquelle zu einer anderen geändert wurde. Die Prozedur RefreshLinkOutput wird zum Ausführen der Prozedur benötigt.

Sub RefreshLinkX()

Dim dbsCurrent As Database
Dim tdfLinked As TableDef

' Datenbank öffnen, der eine verknüpfte Tabelle
' angefügt werden kann.
Set dbsCurrent = OpenDatabase("DB1.mdb")

' Verknüpfte Tabelle erstellen, die auf eine
' Microsoft SQL Server-Datenbank verweist.
Set tdfLinked = _
dbsCurrent.CreateTableDef("Autorentabelle")
tdfLinked.Connect = _
"ODBC;DATABASE=Verleger;UID=sa;PWD=;DSN=Verleg er"
tdfLinked.SourceTableName = "Autoren"

dbsCurrent.TableDefs.Append tdfLinked

' Inhalt der verknüpften Tabelle anzeigen.
Debug.Print _
"Daten aus einer verknüpften Tabelle anzeigen, " & _
"die mit der ersten Quelle verbunden ist:"
RefreshLinkOutput dbsCurrent

' Verbindungsinformationen der verknüpften Tabelle
' ändern und die Verbindung aktualisieren, um die
' neuen Daten verfügbar zu machen.
tdfLinked.Connect = _
"ODBC;DATABASE=Verleger;UID=sa;PWD=;DSN=NeueVerleg er"

tdfLinked.RefreshLink

' Inhalt der verknüpften Tabelle anzeigen.
Debug.Print _
"Daten aus einer verknüpften Tabelle anzeigen, " & _
"die mit der zweiten Quelle verbunden ist:"
RefreshLinkOutput dbsCurrent

' Verknüpfte Tabelle löschen, da dies
' ein Beispiel ist.
dbsCurrent.TableDefs.Delete tdfLinked.Name

dbsCurrent.Close

End Sub

Sub RefreshLinkOutput(dbsTemp As Database)

Dim rstRemote As Recordset
Dim intCount As Integer

' Verknüpfte Tabelle öffnen.
Set rstRemote = _
dbsTemp.OpenRecordset("Autorentabelle")

intCount = 0

' Recordset-Objekt durchlaufen, aber nach 50
' Datensätzen anhalten.
With rstRemote
Do While Not .EOF And intCount < 50
Debug.Print , .Fields(0), .Fields(1)
intCount = intCount + 1
.MoveNext
Loop
If Not .EOF Then Debug.Print , "[weitere Datensätze ]"
.Close
End With

End Sub

AIRNESS 20.05.2003 10:56

thx .. hoffe ich kann damit was anfangen

JackLemon 20.05.2003 11:03

ich hab das gefühl das geht noch ein wenig einfacher...

wenn du den inhalt eines formulares neu laden möchtest dann reicht im normalfall ein

Me.Requery

me verweist dabei auf das aktuelle formular in dem du gerade bist, und requery fordert ein erneutes abfragen der datasource an.

:) -JL


Alle Zeitangaben in WEZ +2. Es ist jetzt 07:52 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag