collapse

* Benutzer Info

 
 
Willkommen Gast. Bitte einloggen oder registrieren. Haben Sie Ihre Aktivierungs E-Mail übersehen?

* Wer ist Online

  • Punkt Gäste: 43
  • Punkt Versteckte: 0
  • Punkt Mitglieder: 1
  • Punkt Benutzer Online:

* Forenstatistik

  • stats Mitglieder insgesamt: 13911
  • stats Beiträge insgesamt: 65784
  • stats Themen insgesamt: 8876
  • stats Kategorien insgesamt: 5
  • stats Boards insgesamt: 17
  • stats Am meisten online: 415

Autor Thema: Newsticker in einem Formular darstellen  (Gelesen 2948 mal)

Offline -Rockbiest-

  • Newbie
  • Beiträge: 43
Newsticker in einem Formular darstellen
« am: Januar 31, 2016, 21:08:39 »
Halli hallo meine lieben Forenbesucher,

ich stehe mal nach langer Zeit wieder vor einem Problem.
Also es gibt etwas, dass definitiv umsetzbar ist, aber irgendwie finde ich keinerlei Hinweise wie das funktionieren könnte.

Ich will in einem Formular eine Art "Newsticker" einbinden.
Ich habe hierfür eine Tabelle, in der die Meldungen gespeichert werden (in einer Spalte), und die user-ID (in einer anderen Spalte). Nun will ich beim Aufrufen des Formulars als Nutzer, dass die Meldungen mit miener User-ID aneinandergereiht durch diese "Newsticker-Leiste" durchläuft, ähnlich wie es beispielsweise im Fernsehen, bei n-tv oder N24 zu sehen ist.

Hat da jemand Erfahrung damit und könnte mir hierzu einen Denkanstoss liefern?
Freue mich über Antworten.

VG
David
 

Online trebuh

  • Access-Profi
  • **
  • Beiträge: 139
Re: Newsticker in einem Formular darstellen
« Antwort #1 am: Januar 31, 2016, 22:52:12 »
Hallo David,

vielleicht hilft Dir das?
http://www.access-home.de/cms/?kat=29&bsp_db_id=25

Gruß
 

Offline -Rockbiest-

  • Newbie
  • Beiträge: 43
Re: Newsticker in einem Formular darstellen
« Antwort #2 am: Februar 02, 2016, 12:10:43 »
Hi,

cool das hat mir schon sehr weitergeholfen!
Ich hab das tatsächlich noch weiter ausgebaut.
Ich hab dieses Feld in ein Unterformular gepackt und dieses bekommt seinen Tickertext vorgegeben, in dem er sich per OpenRecordset die Nachrichten aus einer Tabelle zieht. In der Tabelle sind in einer Spalte die Texte hinterlegt und in einer anderen die Nutzer-ID, sodass jeder Nutzer einen individuellen Newsticker angezeigt bekommt.

Das Unterformular wurde dann in eine Ecke des Hauptformulars der Anwendung reingepackt, und dort tickert es fröhlich vor sich hin. Wenn nun während der Nutzung ein neuer Tickertext in der Tabelle erstellt wird.... wie schaff ich es die neue Message mit im Ticker darzustellen?

Da der Timer ja bereits auf 100 (0,1 Sekunden) gestellt ist, um die Zeichen zu bewegen.

Ein übergeordneter Timer (alle 3 Minuten) im Hauptformular, der sagt:
child_newstimer.requery funktioniert leider nicht.


Kannst du da auch was raten?
 

Offline MaggieMay

  • Global Moderator
  • Access Guru
  • *****
  • Beiträge: 3108
Re: Newsticker in einem Formular darstellen
« Antwort #3 am: Februar 02, 2016, 12:56:56 »
Hallo,

heißt "funktioniert nicht", dass der Code nichts bewirkt oder wird er gar nicht erst angestoßen?

Außerdem solltest du das Unterformular aktualisieren und nicht das Steuerelement:
{Edit: gemeint ist hier das Unterformular-Steuerelement}
Me!child_newstimer.Form.Requery
Zitat
in dem er sich per OpenRecordset die Nachrichten aus einer Tabelle zieht
Wie sieht der Code dazu aus und warum bindest du das Unterformular nicht an die Tabelle bzw. eine Abfrage?
« Letzte Änderung: Februar 02, 2016, 22:57:09 von MaggieMay »
Freundliche Grüße
MaggieMay
 

Offline -Rockbiest-

  • Newbie
  • Beiträge: 43
Re: Newsticker in einem Formular darstellen
« Antwort #4 am: Februar 02, 2016, 19:23:09 »
Also er zieht sich die Nachrichten, gibt sie an den Ticker und alles ist wunderbar.
Er aktualisiert ihn nur nicht! Das liegt aber denke ich tatsächlich daran, dass ich nicht child_newsticker.Form.Requery gesagt habe --> komme erst morgen dazu dies zu prüfen!

Der Vollständigkeit halber denoch mal die Subs aus dem Formular, funzt auch super. Aussehen tut es wie folgt (Innerhalb des Ticker-Formulars)

Private Sub Form_Load()
    Dim text_aus_meldung As String
    Dim db As DAO.Database
    Dim rst As DAO.Recordset
    Dim user_id As Integer
    Set db = CurrentDb
    user_id = dao_lookup("user_id", "tbl_user", "user_name ='" & username & "'")
    Set rst = db.OpenRecordset("SELECT ntck_text FROM tbl_newsticker_1000 WHERE ntck_user_id =" & user_id, dbOpenDynaset, dbSeeChanges)
    Do While Not rst.EOF
        If text_aus_meldung = "" Then
            text_aus_meldung = rst(0)
        Else
            text_aus_meldung = text_aus_meldung & " + + + + " & rst(0)
        End If
        rst.MoveNext
    Loop
    init_newsticker text_aus_meldung, 170
End Sub

Private Sub Form_Timer()
    refreshText_newsticker 'Verweis an das Modul, das den Text alle 0,1 Sekunden eine Zelle weiter schiebt, sodass der Fliessband Effekt entsteht
    Me.txtText.Caption = newsticker_text
    Me.Caption = newsticker_text
End Sub

Private Sub Form_Close()
    newsticker_text = Null
End Sub

"init_newsticker" ist innerhalb eines Moduls vorzufinden und "newsticker_text" ist eine globale Variabel.
 

Offline MaggieMay

  • Global Moderator
  • Access Guru
  • *****
  • Beiträge: 3108
Re: Newsticker in einem Formular darstellen
« Antwort #5 am: Februar 02, 2016, 22:53:49 »
Hallo,

Das liegt aber denke ich tatsächlich daran, dass ich nicht child_newsticker.Form.Requery gesagt habe

ein Requery nützt ja gar nichts, solange das Textfeld an keine Datenquelle gebunden ist, sondern der Text im Load-Ereignis explizit zugewiesen wird.

Wenn der Inhalt des Newsticker-Textes sich während der Dauer des Formulars ändern soll, so muss der Code des Load-Ereignisses wiederholt ausgeführt werden.
Freundliche Grüße
MaggieMay
 

Offline -Rockbiest-

  • Newbie
  • Beiträge: 43
Re: Newsticker in einem Formular darstellen
« Antwort #6 am: Februar 03, 2016, 07:11:50 »
Ich dachte wenn ich Me.child_newsticker.Form.requery mache dann geht das Formular wieder in das Load-Ereignis....

 

Offline MaggieMay

  • Global Moderator
  • Access Guru
  • *****
  • Beiträge: 3108
Re: Newsticker in einem Formular darstellen
« Antwort #7 am: Februar 03, 2016, 13:10:58 »
Nein, da hast du falsch gedacht. Aber du könntest den Code aus dem Load-Ereignis in eine Public-Prozedur in Klassenmodul des Unterformulars packen und diese sowohl aus dem Load-Ereignis aufrufen als auch zum Aktualisieren aus dem HF heraus.

Du könntest aber auch eine Public Function in einem Standardmodul erstellen welche den Newsticker erzeugt und den Funktionsaufruf als Steuerelementinhalt eintragen, dann sollte sich der Newsticker folgendermaßen aktualisieren lassen:
Me.child_newsticker.Form!txtNewsTicker.Requerymit "txtNewsTicker" als Name des Textfeldes.
Freundliche Grüße
MaggieMay
 

Offline -Rockbiest-

  • Newbie
  • Beiträge: 43
Re: Newsticker in einem Formular darstellen
« Antwort #8 am: Februar 05, 2016, 13:42:41 »
Hi und danke :)
Das funktioniert nun 1A

VG
David