Seite 1 von 3

Thema für das Live Meeting am 07.12.2011

BeitragVerfasst: Di 22. Nov 2011, 11:01
von Josef Pötzl
Hallo!

Am 7.12.2011 findet das nächste Live-Meeting statt.

Welches Thema wünscht ihr euch?

LG
Josef

Re: Thema für das Live Meeting am 07.12.2011

BeitragVerfasst: Di 22. Nov 2011, 11:41
von Andreas Vogt
Hallo Josef,
Mein Wunschthema wäre 4 Wochen Programmieren auf Barbados :mrgreen:
Aber Scherz bei seite.

Wir könnten mal das Thema ActiveX aufgreifen und generelles zu ActiveX besprechen wie
  • Vor- Nachteile
  • Verteilungsproblematic
  • Einsatz von ActiveX-Controls im Formular
  • Windows Forms
  • externe Anbieter
  • Verfügbarkeiten/Rechtliches
  • Erfahrungsberichte der Teilnehmer

Gruß Andreas

Re: Thema für das Live Meeting am 07.12.2011

BeitragVerfasst: Di 22. Nov 2011, 22:24
von Christoph Eick
Hallo,
mich würde interessieren wie ich unter Access 2007 / 20010 Registerkarten / Ribons bearbeiten, erstellen kann bzw. nicht mehr anzeigen lassen, bzw. ausblenden oder auch Alternativen.
Ich hatte schon einen Thread im MS-Office Forum dazu gestartet, bin aber hier nicht wirklich weitergekommen.

Des weiteren würde mich interessieren, wie ich die Formulargröße an unterschiedliche Monitore , Auflösungen anpassen kann.

Gruß
Christoph

Re: Thema für das Live Meeting am 07.12.2011

BeitragVerfasst: Mi 23. Nov 2011, 08:43
von Thomas Möller
Hallo Josef!
Hallo liebe Mitstreiter!

Wenn kein anderes interessantes Thema anliegt, dann würde ich mich freuen, wenn wir zusammen mal wieder ein Stück Code überarbeiten. Mir persönlich bringt es immer sehr viel zu sehen, wie es andere angehen und vor allen Dingen warum.

Mein Themenvorschlag also: Code-Optimierung

Wer "stiftet" eine Funktion, die wir gemeinsam überarbeiten können?

Viele Grüße

Thomas

Re: Thema für das Live Meeting am 07.12.2011

BeitragVerfasst: Mi 23. Nov 2011, 10:37
von FireWalkerHH
Hallo Thomas,

also Code-Optimierung ist immer wieder ein interessantes Thema - ich hole mir auch gerne immer Anregungen von anderen.

Ich könnte evtl. sogar eine "Horror-Funktion", die ich vor kurzem selber erst optimiert habe, zur Verfügung stellen. Müsste dafür allerdings vorher noch ein paar Kleinigkeiten klären ...

Ich hätte evtl. ein paar Fragen zu Pivot-Charts, da ich mich gerade daran versuche. Vielleicht hat ja jemand hinterher noch ein offenes Ohr.

Gruß,
Thomas

Re: Thema für das Live Meeting am 07.12.2011

BeitragVerfasst: Mi 23. Nov 2011, 17:42
von Andreas Vogt
Hallo,
oh ja, von diesen Horror-Prozeduren habe ich auch einige im aktuellen Projekt. Es blieb einfach nicht die Zeit die Prozeduren in vernünftige und wiederverwendbare Funktionsblöcke zu zergliedern.
Zum Beispiel hatte ich in einer Prozedur in eine früheren Version ohne Deklarationen 194 Codezeilen, in der aktuellen Version der gleichen Prozedur sind es immerhin nur noch 57 Codezeilen, wobei da sicherlich noch jede Menge Optimierungspotential vorhanden ist.

Gruß Andreas

Re: Thema für das Live Meeting am 07.12.2011

BeitragVerfasst: Do 24. Nov 2011, 10:46
von KGunder
Auch ich habe ja ein Programm mit vielen dieser Monster Prozeduren.
Nur bin ich ja gerade mittendrin, diese Programm umzustrukturieren ( neudeutsch Refaktoring )
da hätte ich also viele Stellen in denen ich ein vorher/nachher zeigen könnte.

LG
Klaus

Re: Thema für das Live Meeting am 07.12.2011

BeitragVerfasst: Do 24. Nov 2011, 11:25
von Josef Pötzl
Hallo!

Was wäre, wenn wir uns über die Möglichkeiten der Gestaltung eines Datenzugriffs (DAO/ADODB-Recordset & Co.) unterhalten?
Ich denke da an verteilte Aufgaben wie SQL-Erstellung bis Zugriff auf ein (beliebiges) DBMS.

Der Code zur Optimierung wären dann Prozeduren wie:
Code: Alles auswählen
dim rst as dao.recordset
dim strSQL as String
strSQL = "Select ... & " _
        " from ..." & _
        " inner join ... ON ... " & _
        " where ... AND " & FilterStringFromDateValue("FeldName", Datumsvariable) & " ..."
set rst = currentdb.openrecordset(strSQL, ....)
...


Beispiele für Lösungsansätze:
  • SQL per Code erzeugen und nicht selbst als Text zusammenstellen.
  • Tabellen als Klassenstruktur im Code verwenden
  • ...

Mit obigen Überlegungen könnten wir uns eventuell auch Gedanken machen, wie man "Filterformulare" automatisieren könnte.

Bei mir sieht das beispielsweise so aus:
Code: Alles auswählen
Private Sub InitFilterForm()

   If m_FilterFormHandler Is Nothing Then
      Set m_FilterFormHandler = New FilterFormHandlerEx
   End If
   With m_FilterFormHandler
      Set .ListForm = Me!sfrItemList.Form.InitListForm(New ListFormHandlerEx, "q_frm" & Me.Name, m_conListMode)
      .ListMode = m_conListMode
   End With
   
   InitFormFilters

End Sub

Private Sub InitFormFilters()

   If m_FilterFormHandler Is Nothing Then
      InitFilterForm
      Exit Sub
   End If
   
   With m_FilterFormHandler
      .DeleteFilters

      .AddFilter cFilterControl:=Me.filtCompanyCode, _
                     sFieldName:="CompanyCode", _
                     lFieldType:=FF_FieldType.FT_Text, _
                     lFilterMode:=FF_FilterMode.FM_Like
     
      .AddFilter cFilterControl:=Me.filtName, _
                     sFieldName:="Company", _
                     lFieldType:=FF_FieldType.FT_Text, _
                     lFilterMode:=FF_FilterMode.FM_Like + FM_WildcardRight

      .AddFilter cFilterControl:=Me.filtPostCode, _
                     sFieldName:="PostCode", _
                     lFieldType:=FF_FieldType.FT_Text, _
                     lFilterMode:=FF_FilterMode.FM_Like

        [...]
                     
   End With

End Sub

.. Damit übernimmt eine Klasse die Gestaltung des Filter aus den Werten in den übergebenen Steuerelement ("Me.filtXXX" sind ungebundene Steuerelemente in die der User Filterwerte einträgt).

LG
Josef

Re: Thema für das Live Meeting am 07.12.2011

BeitragVerfasst: Do 24. Nov 2011, 12:53
von Andreas Vogt
Hallo Josef,
Ja Filter in Formularen ist auch ein Interessantes Thema, vorallem wenn der Filter mehrstufig ist.
Z.B. Datum von/Datum bis ist so eine häufige Verwendung.
In einem letzten Projekt hatte ich noch zusätzliche 2 weitere Filterbedingungen. Das wird dann interessant wenn das Setzen eines Filters den bestehenden Filter noch weiter beschränken soll etc.

Gruß Andreas

Re: Thema für das Live Meeting am 07.12.2011

BeitragVerfasst: Do 24. Nov 2011, 13:16
von Josef Pötzl
Hallo!

Ein Between-Filter sieht bei mir z. B. so aus:
Code: Alles auswählen
    m_FilterForm.AddFilter cFilterControl:=Me!filtStartDateMin, _
                    sFieldName:="StartDate", _
                    lFieldType:=FF_FieldType.FT_Date, _
                    lFilterMode:=FF_FilterMode.FM_Between, _
                    bNotErasable:=False, _
                    cFilterControl2:=Me!filtStartDateMax

Die Klasse kümmert sich dann darum, ob between (bzw. <= und >=) bei 2 gesetzten Filterwerten bzw. nur >= oder <= eingestellt wird, wenn vom User nur in ein Filterfeld ein Wert eingetragen wurde.

Anm.: Ich würde beim LM allerdings nicht meine Klasse vorstellen, da diese nicht genug aufgeteilt ist und somit zu wenig überschaubbar für ein LM ist. Lieber wäre mir, wenn wir so eine Struktur gemeinsam erarbeiten.

LG
Josef