April 21, 2021, 13:34:52

Neuigkeiten:

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


Neueste Beiträge

Seiten 1 2 3 4 ... 10
11
Bericht / Re: Datensatz in Bericht verdo...
Letzter Beitrag von crystal - Heute um 07:53:52
@Daniel0710
Ganz einfach:
Du brauchst nur eine Hilfstabelle "AnzEti" (Anzahl Etiketten), die aus nichts weiter außer einem Primärschlüssel (Autowert) "ENr" besteht. In diese Tabelle speicherst du einfach mal die Werte (=Datensätze) 1, 2, 3, 4 usw.
Wenn nun in deiner Auftragsdatei (oder besser der Artikeldatei) hinterlegt ist  (z. B. in einem Feld "AAnzEti"), wieviel Etiketten benötigt werden, "duplizierst" du die Anzahl der Auftrags-Datensätze einfach mit

SELECT Auftraege.ANr, Auftraege.AKunde, Auftraege.AArtikel, AnzEti!Enr & ' von ' & [Auftraege]!AAnzEti AS xEtiTxt
FROM Auftraege, AnzEti
WHERE (((AnzEti.ENr)<=[Auftraege]![AAnzEti]));


und du erhält das zusätzliche Feld "xEtiText", in dem dann z. B. "1 von 3", "2 von 3" und "3 von 3" steht - fertig für die Verwendung im Bericht (Etikett).

Beispiel Auftrag 1 mit Artikel a1 (1 Etikett) und Auftrag 2 mit Artikel a3 (3 Etiketten):

ANr AKunde AArtikel xEtiTxt
1 k1 a1 1 von 1
2! k7 a3 1 von 3
2! k7 a3 2 von 3
2! k7 a3 3 von 3

Zum Testen brauchst du nur obigen Select als SQL-Text (SQL-Ansicht) in eine neue Abfrage kopieren und die Namen der Tabellen/Felder anpassen.

Gruß,
crystal
12
Formular / Re: Datensatzzähler im HF ände...
Letzter Beitrag von andyfau - April 20, 2021, 16:02:54
Hallo,

im Unterformularereignis "nach Aktualisierung":

Me.Parent.Requery
13
Formular / Datensatzzähler im HF ändert s...
Letzter Beitrag von Der Ureinwohner - April 20, 2021, 15:45:53
Bitte lyncht mich nicht. Ich habe in alten Antworten gesucht aber leider nicht die entsprechende Lösung gefunden.

Mein Problem: Ich habe ein HF in dem ein Ufo eingebettet ist. Im HF ist ein ungebundenes Textfeld das die Datensätze im Ufo zählt und anzeigt. Das funktioniert auch alles ganz prima.

Was geht nicht ? Ich lege im Unterformular einen neuen DS an (oder lösche einen). Dieser wird im DS-Zähler im HF erst dann angezeigt wenn ich über das Kombifeld im HF eine neue Auswahl treffe und von dort dann wieder auf die ursprüngliche Auswahl zurück kehre. Das möchte ich aber nicht. Also sollte es doch irgendwie über einen vba Code (unter der Verwendung von refresh oder requery) zu bewerkstelligen sein das der Zähler aktualisiert wird sobald ich den neuen Datensatz im Ufo angelegt bzw. gelöscht habe.

Da komme ich im Moment nicht weiter. Hat mir da evtl. jemand einen Lösungsansatz ?

Viele Grüße "Ä"tsch (H)ans

..... und Danke schon mal für Eure Bemühungen
14
Bericht / Datensatz in Bericht verdoppel...
Letzter Beitrag von Daniel0710 - April 20, 2021, 15:00:07
Servus,

Wir verwenden in der Firma einen Bericht zum Drucken von Etiketten (Access16) um hergestellte, bereits verpackte Artikel mit AuftragsNr, Kunde usw. zu versehen. Nun gibt es jedoch Bestellartikel, welche aus mehreren einzelnen Artikeln bestehen. Beispiel: Wenn ein Kunde beispielsweise Produkt 5 bestellt, besteht dieses aus 3 einzelnen Produkten, also würde ich auch 3 gleiche Etiketten dieser Position benötigen. Aktuell wird für jede Position im Auftrag ein Etikett mit dem Produktnamen gedruckt.

Die Datensatzquelle des Berichts ist eine Abfrage.

Ich habe mir gedacht ich kann da irgendwie über das Ereignis 'Beim Öffnen' Datensätze suchen, welche z.b. Produkt 5 beinhalten und dann den Datensatz 2 mal darunter wieder einfügen. Soweit die Idee. Wie man das umsetzen kann leider keine Ahnung.. Wahrscheinlich ist es auch sinnvoller das ganze über die Abfrage zu lösen aber ja.

Ich kenn mich mit Access leider nicht gut aus, bitte um Verständnis..

Danke im Vorraus!
15
Access Programmierung / Re: "Sub oder Function nicht d...
Letzter Beitrag von PhilS - April 20, 2021, 11:02:34
Zitat von: sirtet am April 20, 2021, 10:15:22Diesmal habe ich den Code möglichst 1:1, ohne mein eigentliches Ziel.
Einziger Unterschied den ich sehe, ich habe die ersten 3 Zeilen auch in der Sub...
Auch oder nur?
In jedem Fall: Warum?

Du hast mit dem "auch" in einem Code zwei verschiedene Variablen mit demselben Name oAutomation, aber verschiedenen Gültigkeitsbereichen. Welche der beiden du mit dem Namen erwischt, hängt davon ab. in welcher Prozedur du dich gerade befindest. - Das kann evtl. funktionieren, aber Programmierfehler sind damit extrem wahrscheinlich.

Mit dem "nur" hast du gar keine gültige Objektreferenz auf oAutomation innerhalb von WalkEnabledElements.

Beide Situation könnten evtl. den Fehler produzieren, den du siehst.
16
Access Programmierung / Re: "Sub oder Function nicht d...
Letzter Beitrag von sirtet - April 20, 2021, 10:15:22
Danke. Ich dachte (ämm... eher meinte ohne denken) die Funktion wäre in der DLL... aber in der ist natürlich kein VBA Sourcecode [facepalm]

Jetzt habe ich aber das nächste Problem:





Diesmal habe ich den Code möglichst 1:1, ohne mein eigentliches Ziel.
Einziger Unterschied den ich sehe, ich habe die ersten 3 Zeilen auch in der Sub...


Private Sub uiAutomate_Click()
 'trying to follow a UIAutomation howto
 'Part 1 https://www.youtube.com/watch?v=7pYanOx3tcE
 'Part 2 https://www.youtube.com/watch?v=ANTIGgs7YM4
 
Dim oAutomation As New CUIAutomation8
Dim MyElement1 As UIAutomationClient.IUIAutomationElement
Dim MyElement2 As UIAutomationClient.IUIAutomationElement

Dim oInvokePattern As UIAutomationClient.IUIAutomationInvokePattern
Dim oPattern As UIAutomationClient.IUIAutomationLegacyIAccessiblePattern


Set MyElement1 = WalkEnabledElements(oAutomation.GetRootElement, "Skype")

Set MyElement2 = MyElementl.FindFirst(TreeScope_Children, PropCondition(oAutomation, "TLoginAppControl", "ClsName"))

Set MyElement1 = MyElement2.FindFirst(TreeScope_Children, PropCondition(oAutomation, "Shell Embedding", "ClsName"))

Set MyElement2 = MyElement1.FindFirst(TreeScope_Children, PropCondition(oAutomation, "Shell DocObject View", "ClsName"))

Set MyElement1 = MyElement2.FindFirst(TreeScope_Children, PropCondition(oAutomation, "Internet Explorer_Server", "clsName"))

Set MyElement2 = MyElement2.FindFirst(TreeScope_Children, PropCondition(oAutomation, "sign in with Skype or Microsoft account", "Name"))

'Set UserID
Set MyElement1 = MyElement2.FindFirst(TreeScope_Children, PropCondition(oAutomation, "unifiedUsername", "AutoID"))
Set oPattern = MyElementl.GetCurrentPattern(UIA_LegacyIAccessiblePatternId)
oPattern.SetValue ("MyUserID")

'Set Password
Set MyElement1 = MyElement2.FindFirst(TreeScope_Children, PropCondition(oAutomation, "unifiedPassword", "AutoID"))
Set oPattern = MyElement1.GetCurrentPattern(UIA_LegacyIAccessiblePatternId)
oPattern.SetValue ("Password")

'Click Sign In button
Set MyElement1 = MyElement2.FindFirst(TreeScope_Children, PropCondition(oAutomation, "M2SYS BioPlugin Snap-On Adapter (Waiting..)", "AutoID"))
Set oInvokePattern = MyElement1.GetCurrentPattern(UIAutomationClient.UIA_InvokePatternId)
oInvokePattern.Invoke
MsgBox "invoked"
End Sub



Function WalkEnabledElements(element As UIAutomationClient.IUIAutomationElement, strWindowName As String) As UIAutomationClient.IUIAutomationElement
    Dim walker As UIAutomationClient.IUIAutomationTreeWalker
       
    Set walker = oAutomation.ControlViewWalker
    Set element = walker.GetFirstChildElement(element)

    Do While Not element Is Nothing
        Debug.Print element.CurrentName
       
        If InStr(1, element.CurrentName, strWindowName) > 0 Then
            Set WalkEnabledElements = element
            Exit Function
        End If
   
        Set element = walker.GetNextSiblingElement(element)
    Loop
End Function


Function PropCondition(UiAutomation As CUIAutomation, Requirement As String, IdType As String) As UIAutomationClient.IUIAutomationCondition 'UIAutomationClient.IUIAutomationCondition
    Select Case IdType
        Case "Name"
            Set PropCondition = UiAutomation.CreatePropertyCondition(UIAutomationClient.UIA_NamePropertyId, Requirement)
        Case "AutoID"
            Set PropCondition = UiAutomation.CreatePropertyCondition(UIAutomationClient.UIA_AutomationIdPropertyId, Requirement)
        Case "ClsName"
            Set PropCondition = UiAutomation.CreatePropertyCondition(UIAutomationClient.UIA_ClassNamePropertyId, Requirement)
        Case "LoczCon"
            Set PropCondition = UiAutomation.CreatePropertyCondition(UIAutomationClient.UIA_LocalizedControlTypePropertyId, Requirement)
    End Select
End Function

Screengrab:
17
Bericht / Re: DomSumme im Bericht
Letzter Beitrag von DF6GL - April 19, 2021, 17:34:18
Hallo,

hat das Feld "AnzahlKH"  in jedem Datensatz, der von der Abfrage geliefert wird, einen numerischen Wert?

Ich denke, das Thema hatten wir doch schon ausgiebig diskutiert(? eher "monologisiert")

Bring doch endlich mal die Tabelle in Ordnung, sonst eiern wir immer wieder um solche Unzulänglichkeiten herum.
18
Bericht / Re: DomSumme im Bericht
Letzter Beitrag von BikeArno - April 19, 2021, 16:41:11
Zitat von: MzKlMu am April 19, 2021, 15:28:44=DomSumme("AnzahlKH";"qry_Datensatz")ist richtig und muss funktionieren.

... dass dachte ich auch, tut es aber nicht. MIT Kriterium erfolgt die korrekte Berechnung, lösche ich das Kriterium raus (so wie im Code #6, bekomme ich einen "#Fehler". Ich drehe bald am Rad, weil ich keine Erklärung finde ...

Die Abfrage selbst funktioniert nach Doppelklick.
19
Bericht / Re: DomSumme im Bericht
Letzter Beitrag von MzKlMu - April 19, 2021, 15:28:44
Hallo,
=DomSumme("AnzahlKH";"qry_Datensatz")ist richtig und muss funktionieren.
Funktioniert die Abfrage selbst bei Doppelklick ?

PS:
qry_Datensatz ist immer noch ein merkwürdiger Namen für eine Abfrage.
20
Bericht / Re: DomSumme im Bericht
Letzter Beitrag von BikeArno - April 19, 2021, 15:19:24
Zitat von: MzKlMu am April 19, 2021, 14:50:17und was ist denn Datensatz ?

Mein Fehler. Ich habe "Datensatz" geschrieben, da ich dachte, zu Demonstrationszwecken des o.g. Codes wäre das ausreichend bzw. egal, wie die Datenquelle heißt. Im Original heißt sie "qry_Datensatz" und ist eine Abfrage. Ich werde künftig darauf achten ;-)

Seiten 1 2 3 4 ... 10