Thema für das Live Meeting am 07.12.2011

Themenvorschläge, allgemeine Hinweise und Diskussionen ... Beiträge rund um das Thema Live Meeting und mehr.

Thema für das Live Meeting am 07.12.2011

Beitragvon Josef Pötzl » Di 22. Nov 2011, 11:01

Hallo!

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

Welches Thema wünscht ihr euch?

LG
Josef
Josef Pötzl
Moderator
 
Beiträge: 805
Registriert: Mo 30. Nov 2009, 10:08
Wohnort: Klagenfurt
Accessversion: 2016

Re: Thema für das Live Meeting am 07.12.2011

Beitragvon Andreas Vogt » Di 22. Nov 2011, 11:41

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
Andreas Vogt
Entwickler
 
Beiträge: 165
Registriert: Do 18. Mär 2010, 18:00
Wohnort: Offenburg
Accessversion: 2.0, 97, 2002, 2003, 2007, 2010
Access-Erfahrung: Fortgeschritten

Re: Thema für das Live Meeting am 07.12.2011

Beitragvon Christoph Eick » Di 22. Nov 2011, 22:24

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
Gruß
Christoph Eick

Access Versionen 97,2000,2003,2007
Hauptsächlich verwendet 2000 und 2007
Christoph Eick
 
Beiträge: 11
Registriert: So 19. Dez 2010, 19:58
Wohnort: Celle
Accessversion: 97,2000,2003,2007, 2010
Access-Erfahrung: Grundlagen

Re: Thema für das Live Meeting am 07.12.2011

Beitragvon Thomas Möller » Mi 23. Nov 2011, 08:43

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
Thomas Möller
 
Beiträge: 9
Registriert: Di 28. Sep 2010, 08:04
Wohnort: D-Weinstadt
Accessversion: Access 2000, 2002, 2003, 2007 u. 2010
Access-Erfahrung: Experte

Re: Thema für das Live Meeting am 07.12.2011

Beitragvon FireWalkerHH » Mi 23. Nov 2011, 10:37

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
Thomas Franzek

Diese Signatur wurde mit 100% chlorfrei gebleichten, glücklichen Elektronen erzeugt.
Diese entstammen keiner Lagerelektronenhaltung und werden nicht zu ihrer Arbeit gezwungen
FireWalkerHH
Entwickler
 
Beiträge: 57
Registriert: Mo 18. Okt 2010, 12:13

Re: Thema für das Live Meeting am 07.12.2011

Beitragvon Andreas Vogt » Mi 23. Nov 2011, 17:42

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
Andreas Vogt
Entwickler
 
Beiträge: 165
Registriert: Do 18. Mär 2010, 18:00
Wohnort: Offenburg
Accessversion: 2.0, 97, 2002, 2003, 2007, 2010
Access-Erfahrung: Fortgeschritten

Re: Thema für das Live Meeting am 07.12.2011

Beitragvon KGunder » Do 24. Nov 2011, 10:46

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
KGunder
Entwickler
 
Beiträge: 48
Registriert: Mo 27. Sep 2010, 11:20

Re: Thema für das Live Meeting am 07.12.2011

Beitragvon Josef Pötzl » Do 24. Nov 2011, 11:25

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
Josef Pötzl
Moderator
 
Beiträge: 805
Registriert: Mo 30. Nov 2009, 10:08
Wohnort: Klagenfurt
Accessversion: 2016

Re: Thema für das Live Meeting am 07.12.2011

Beitragvon Andreas Vogt » Do 24. Nov 2011, 12:53

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
Andreas Vogt
Entwickler
 
Beiträge: 165
Registriert: Do 18. Mär 2010, 18:00
Wohnort: Offenburg
Accessversion: 2.0, 97, 2002, 2003, 2007, 2010
Access-Erfahrung: Fortgeschritten

Re: Thema für das Live Meeting am 07.12.2011

Beitragvon Josef Pötzl » Do 24. Nov 2011, 13:16

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
Josef Pötzl
Moderator
 
Beiträge: 805
Registriert: Mo 30. Nov 2009, 10:08
Wohnort: Klagenfurt
Accessversion: 2016

Nächste

Zurück zu Planung und Diskussion

cron