Neuigkeiten:

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

Mobiles Hauptmenü

DomWert...

Begonnen von gcniva, Februar 09, 2019, 14:42:57

⏪ vorheriges - nächstes ⏩

gcniva

Hi PhilS

Ne kommt der gleiche fehler

Gruß Gerd
Arbeite mit Access 2010

DF6GL

Hallo,

die Syntax muss so lauteten:


.
.
Me!cptSchi3 = DLookup("A", "abf_Kalender", "[Datum]=" & Format(Me![cptItem3].[Caption], "\#yyyy-mm-dd\#"))
.
.



(Das Textfeld "cptSchi3"  wird mit dem Wert aus Feld "A" der Abfrage "abf_Kalender" gefüllt, der in demjenigen Datensatz steht, bei dem das Datum dem "Wert" aus der Beschriftung des  Bezeichnungsfelds "cptItem3" entspricht.)

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

PhilS

Zitat von: gcniva am Februar 15, 2019, 16:42:20Ne kommt der gleiche fehler
Du hast aber schon den Ausdruck aus der Steuerelementinhalt-Eigenschaft entfernt, oder? - Ansonsten ist das Feld an den Ausdruck gebunden und schreibgeschützt.
Neue Videoserie: Windows API in VBA

Klassische CommandBars visuell bearbeiten: Access DevTools CommandBar Editor

gcniva

Hi Franz

Ja das klappt super..
Steuerelementinhalt-Eigenschaft  wurde zuvor gelöscht.

Doch leider kann ich es nicht benutzen, denn wenn ich den Kalender einen Monat weiter klicke, bleibt der wert drin stehen. und holt sich nicht den neuen..

Gruß
Arbeite mit Access 2010

DF6GL

Hallo,

ja, und warum sollte das passieren?

Wenn Du weiter klickst, dann muss der neue Wert (müssen die neuen Werte) halt erneut zugewiesen werden, am besten bei dem Ereignis, das den neuen Monat anzeigen soll.

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

gcniva

Hi Franz

Sorry mein fehler, klar muss natürlich in auch in AfterUpdate() rein  8)

Aber schon das nächste problem...
hier erst mal was ich gemacht habe.

Sub schiFill()
    Dim i As Long, lngColor As Long, lngLeft As Long, lngWidth As Long
    'Trägt die Schichten ein beim öffnen
   
    On Error GoTo myError
     
   
  If Schi = "A" Then
  For i = 1 To 31
  Me("cptSchi" & i) = DLookup("A", "abf_Kalender", "Datum =" & Format(Me("cptItem" & i).[Caption], "\#yyyy-mm-dd\#"))
  Next i
  End If
 
  If Schi = "B" Then
  For i = 1 To 31
  Me("cptSchi" & i) = DLookup("B", "abf_Kalender", "[Datum]=" & Format(Me("cptItem" & i).[Caption], "\#yyyy-mm-dd\#"))
  Next i
  End If
 
  If Schi = "C" Then
  For i = 1 To 31
  Me("cptSchi" & i) = DLookup("C", "abf_Kalender", "[Datum]=" & Format(Me("cptItem" & i).[Caption], "\#yyyy-mm-dd\#"))
  Next i
  End If
 
  If Schi = "D" Then
  For i = 1 To 31
  Me("cptSchi" & i) = DLookup("D", "abf_Kalender", "[Datum]=" & Format(Me("cptItem" & i).[Caption], "\#yyyy-mm-dd\#"))
  Next i
  End If
 
 

myExit:
    Exit Sub

myError:
    Select Case Err.Number
        Case 9999
            'spezifische Fehler behandeln
        Case Else
            MsgBox "Ausnahme Nr. " & Err.Number & ". " & Err.Description
            Resume myExit
    End Select
   
         End Sub


Das geht auch , nur kommt die Meldung "Fehlender Oparator [Datum]="
Schreibt aber trotzdem die Schichten rein

Gruß Gerd
Arbeite mit Access 2010

DF6GL

Hallo,

mal abgesehen davon, ob das alles konzeptionell so optimal ist, könnte der Code so gekürzt werden, wobei unklar ist, was "Schi" denn ist. Falls es sich hierbei um ein Steuerelement handelt, dann etwa so:



Sub schiFill()
    Dim i As Long, strSchi as String
    'Trägt die Schichten ein beim öffnen
   
    On Error GoTo myError

   strSchi = Me!Schi

  For i = 1 To 31
  Me("cptSchi" & i) = DLookup("[" & strSchi & "], "abf_Kalender", "[Datum] =" & Format(Me("cptItem" & i).[Caption], "\#yyyy-mm-dd\#"))
  Next i
  End If
   

myExit:
    Exit Sub

myError:
    Select Case Err.Number
        Case 9999
            'spezifische Fehler behandeln
        Case Else
            MsgBox "Ausnahme Nr. " & Err.Number & ". " & Err.Description
            Resume myExit
    End Select
   
         End Sub



Der Fehler könnte daher rühren, dass in einem Bezeichnungsfeld kein gültig (geschriebenes) Datum drinsteht.


btw:  der Name "Datum" ist ein "gefährliches" (reserviertes) Wort, weil es für die Date()-Funktion steht und mitunter Probleme aufwirft.  Deshalb diesen Namen unbedingt in Eckklammern setzen.
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

gcniva

Hi

Ne geht auch nicht...

Glaube aber den Fehler gefunden zu haben,
Wenn sich der Kalender aufbaut blendet er die Tage die nicht zu dem Monat gehören aus.

Soll heißen hat der Monat nur 28 Tage bekomme ich auch nur 28 Tage angezeigt.

Der VBA Code will aber 31 Tage füllen  :-\

Gruß Gerd
Arbeite mit Access 2010

Maxel

ZitatFor i = 1 To 31
Setze statt 31 den Tag des monatsletzten Datums ein.
Viele Grüße
Maxel