Ausgangssituation:
ich habe eine *.odb-Datei geöffnet, bin in den Bereich "Tabellen" gewechselt und habe dort eine der Tabellen doppelgeklickt, so das sie angezeigt wird.
Ich kann nun nit der Maus den Cursor in ein Feld bzw. Spalte einer bestimmten Zeile setzen, wodurch diuese Zeile die aktive Zeile wird, erkenntlich am kleinen größen Dreieck, das am linken Rand angezeigt wird.
Wie ermittle ich per Makro in welcher Zeile ich gerade bin?
Per Code ginge das Anzeigen der Tabelle z.B. so, was ich erwähne weil ich mutmaße die Lösung meiner FRage könnte vielleicht etwas mit "DataSourceBrowser" zu tun haben:
Code: Alles auswählen
Sub Beispiel()
datentabelle_zeigen("beispiel", "auf")
End Sub
Sub datentabelle_zeigen(welche As String, sortierung As String)
'sortierung: auf-aufsteigend, ab-absteigend
'welche: f-Firmen, p-Personen
Dim URL as New com.sun.star.util.URL
Dim Args(5) as New com.sun.star.beans.PropertyValue
Dim Dispatch As Object
DatabaseContext1 = createUnoService("com.sun.star.sdb.DatabaseContext")
Datenquelle1=DatabaseContext1.getByName(ThisDatabaseDocument.URL)
Verbindung = Datenquelle1.GetConnection("","")
If welche = "beispiel" And sortierung = "auf" Then
sql="Select * FROM ""Kunden"""
Else
Msgbox "Fehler"
Exit Sub
End If
URL.Complete = ".component:DB/DataSourceBrowser"
Dispatch = StarDesktop.queryDispatch(URL,"_Blank",8)
Args(0).Name = "ActiveConnection"
Args(0).Value = Verbindung
Args(1).Name = "CommandType"
Args(1).Value = 2
Args(2).Name = "Command"
Args(2).Value = sql
Args(3).Name = "ShowMenu"
Args(3).Value = True
Args(4).Name = "ShowTreeView"
Args(4).Value = False
Args(5).Name = "ShowTreeViewButton"
Args(5).Value = False
Dispatch.dispatch(URL, Args)
End Sub
Mir ist bekannt das ich die Datentabelle in einem Grid-Steuierelement anzeigen könnte, dort könnte ich dann per Cursor eine Zeile markieren und per Basic bestimen welche Zeile markiert ist ... das ist aber nicht die Frage.
Gruß
Stephan