Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

VBA programmieren lassen

Begonnen von wuffwuff2003, August 10, 2013, 10:23:50

⏪ vorheriges - nächstes ⏩

DF6GL

Hallo,

ok, mail mir BE unf FE an die bekannte Abdresse.  Die Verknüpfungen bekomm ich schon hin...
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

wuffwuff2003

Hallo, Ich habe es an die private Email von Ihnen gemailt. Einmal FE / BE / Excel Datei

Erklärung steht in der Mail.

Danke

wuffwuff2003

#17
Hi,

Jetzt klappts nachdem ich es geändert habe, jetzt bleibt ein letzter kleiner Wunsch. Es gibt Leute die haben keinen Schichtplan, und wenn ich ALLE auswähle dann werden die mitgedruckt. Wo kann ich da noch ein Kriterium einsetzen dass nur die gedruckt werden deren ROULEMENT Feld nicht LEER ist? Oder ich sage mal so, es wäre besser er würde sogar die Abfrage ausfragen, denn auch die Mitarbeiter mit TMxx müssten rausgefiltert werden.

Mfg

bspw so, aber das löst einen Fehler aus:

Private Sub cmbSPNR_AfterUpdate()
Dim strSQL As String

If Me!cmbSPNR = 0 Then
    strSQL = "select * from tbl_Uebersicht order by [Roulement] WHERE Roulement >=22 , [Nomcomplet]"
Else
    strSQL = "select * from tbl_Uebersicht where Roulement = " & Me!cmbSPNR & " order by [Roulement], [Nomcomplet]"
End If

Me!frm_listeagents_tscopie.Form.RecordSource = strSQL
End Sub

DF6GL

Hallo,

vermutlich:

Private Sub cmbSPNR_AfterUpdate()
Dim strSQL As String

If IsNull(Me!cmbSPNR) Then
    strSQL = "select * from tbl_Uebersicht order by [Roulement] WHERE Roulement >=22"     'warum hier 22 ??
Else
    strSQL = "select * from tbl_Uebersicht where Roulement = " & Me!cmbSPNR & " order by [Roulement]"
End If

Me!frm_listeagents_tscopie.Form.RecordSource = strSQL
End Sub



"TMxx"  werden doch sowieso nicht gedruckt, solange dieser Prefix nicht auch in tblRoulement mit vorhanden ist...
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

wuffwuff2003

#19
Ja Sie haben Recht das war ein Gedankenfehler von mir er überprüft ja das Prefix TS stimmt. Die 22 ist die ID aus der Tabelle Roulement, da steht 22 für TM10 23 für TM11 usw.
Ich bekomme nämlich einen Fehler wenn ich "ALLE" drucken will und zwar:
3075 Syntaxfehler (fehlender Operator) in Abfrageausdruck 'ID='
ich dachte das wäre darauf zurückzuführen denn er macht den Fehler nur unter "ALLE"

DF6GL

#20
Hallo,


ok, habe nochmal die DB angesehen. Dort wird "Alle" mit "0" dargestellt, so dass es so (wie vorher) lauten muss:

If Me!cmbSPNR = 0 Then
   strSQL = "select * from tbl_Uebersicht order by [Roulement] WHERE Roulement >=22"    
Else
   strSQL = "select * from tbl_Uebersicht where Roulement = " & Me!cmbSPNR & " order by [Roulement]"
End If



PS: sehe gerade, dass die Einträge in tbl_roulement nicht korrekt sind und so laten müssen:

ID  Roulement  Prefix
22       10           TM
23       11           TM
24       12           TM



so denn auch diese Bezeichnungen als Excel-Sheet-Namen existieren und gedruckt werden sollen.


In der DB zeigt diese Tabelle die Benamsungen der Excel-Sheets, die  gedruckt werden dürfen. Ist der Name eines Excel-Sheet nicht in der Tabelle aufgeführt, wird das entspr. Sheet nicht gedruckt. Das  Kriterium ">=22"  kann entfallen (u. a. auch deshalb, weil es "falsch herum" ist und eigentlich "<22"  heißen müsste, wenn alle Roulements mit ID <22 gedruckt werden sollen. 


Wenn aber in tblRoulement auch Einträge vorhanden sein sollen, die grundsätzlich nicht für einen Druck des entspr. Excelsheets vorgesehen sind, erfordert das ein weiteres Feld "druckbar" , mit dem eben dies gesteuert wird.



Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

wuffwuff2003

Das ist ja dann so wie ich es anfangs auch gemacht habe, nur dass ich die Fehlermeldung da bekomme. Oder liegt das an der 2. Ordung vom [Nomcomplet]?

wuffwuff2003

Hallo,
Sorry ein bisschen Verspätung aber lag gestern flach, es ist so wie sie es sagen: Wenn ich ALLE auswähle müssten alle Sheets ausgedruckt werden. Da die Tabelle Roulement aber auch in anderen Formularen genutzt wird, ist es auch wichtig dort Einträge einzutragen wie z.B. TM10 TM11 usw. Diese gelten nämlich für Lehrlinge, die haben keinen festen Schichtplan (Roulement). Die haben daher keine Sheets, und müssen vom Druck ignoriert werden. An sich müsste man festlegen können: Wenn Prefix nicht gleich null ist, dann sollte er auf das entsprechende Excel Sheet zurückgreifen. Ist das Prefix dann Null, dann müsste dies vom Druck ausgeschlossen werden. Somit könnte man die Prefix Spalte gleichzeitig nutzen um die Option "Drucken JA/NEIN" zu nutzen.
Mfg

wuffwuff2003

Ich habe es jetzt mal so gelöst. Ich habe eine Abfrage erstellt mit den Spalten Nomcomplet, Matricule, Roulement, Case. Ich habe hier bei Roulement die Kriterie eingebaut ; <22
Im SQL Code habe ich dann die Abfrage genommen:
If Me!cmbSPNR = 0 Then
    strSQL = "select * from qry_tscopie order by [Roulement], [Nomcomplet]"
Else
    strSQL = "select * from qry_tscopie where Roulement = " & Me!cmbSPNR & " order by [Roulement], [Nomcomplet]"
End If
Demnach scheint es nun zu klappen mal abwarten :)