Jump to content

Sky Slate Blueberry Blackcurrant Watermelon Strawberry Orange Banana Apple Emerald Chocolate
Photo

Reminder - Ein Tool für Erinnerungen bei Kundenkommunikation


  • Please log in to reply
32 replies to this topic
fump2000
  • Members
  • 591 posts
  • Last active: Nov 11 2015 07:52 AM
  • Joined: 01 Nov 2012

Es war sowas von Simpel aber man hat es einfach nicht gesehen... ich selbst nur per Zufall.

 

Ich hab mich gewundert das in der automatisch generierten Notiz bei der ID keine ID stand sondern irgednwas anderes. Also habe ich einen Debug eingebaut und mir an der Stelle wo der Fehler passiert eine msgbox ausgegen lassen mit allen Variablen um so mal den Stand der Dinge zu sehen. Dabei sah ich, dass die ID durch irgendwas ersetzt wurde. Das Irgendwas war ein Textfragment das ich selbst geschrieben habe. Das fragment stammt aus einem Text den ich gerade schrieb als das Fenster m it dem fälligen Vorgang aufpoppte.

 

Also schaute ich mir die GUI für das PopUp nochmal genau an und da sah ich es. Sowas blödes und einfaches... Ich hab mich soooooooooo geärgert weil ich das nicht zuvor bedacht habe.

 

Hier die Lösung:

Die GUI hat zwei Editfelder die am Anfang stehen und mit x,y,w,h=0 angegeben sind. Das eine beinhaltet die ID das andere den FirstUser Namen.

Nun, was passiert wenn ein Editfeld vorausgefüllt in einer GUI angezeigt wird das zudem auch noch das erste Control in der GUI ist?

Richtig es hat Fokus und der Text ist markiert...

 

Der sagenumwogene Fehler passierte also nur bei den Fenstern die aufpoppten während man eine Eingabe gemacht hat und durch die Eingabe wurde die ID gelöscht bzw. durch was anderes ersetzt.

 

Ein simples +ReadOnly bzw. +Disabled hat das Problem behoben. Es lag nie am Netzwerk oder an der SQL DB.

 

Ich ärgere mich genauso dolle wie ich mich freue es endlich gefunden zu haben...

 

Dennoch habe ich dadurch einiges gelernt, es hatte also seinen Nutzen happy.png

 

Das einzige was ich nicht verstehe ist, warum kam beim Ausführen der SQL Befehle kein Error? Der SQL Befehl lautet ja "UPDATE OR REPLACE" da er die ID nicht finden konnte die gesucht wurde hätte ja beides nicht erfolgen können... Hätte es da beim "If !DB.Exec(SQL)" (hatte das schon so umgestellt) nicht zu einer Meldung kommen müssen?

 

 

Danke dir sehr für deine Mühe!



just me
  • Members
  • 1496 posts
  • Last active: Nov 03 2015 04:32 PM
  • Joined: 28 May 2011

Hallo,

 

in den Erläuterungen zur UPDATE-Anweisung steht Folgendes:

It is not an error if the WHERE clause does not evaluate to true for any row in the table - this just means that the UPDATE statement affects zero rows.

Deshalb kommt kein Fehler.

 

Übrigens, UPDATE OR REPLACE macht nicht wirklich Sinn (ist schlicht "doppelt gemoppelt"). Eher schon wäre INSERT OR REPLACE eine Alternative, doch dann hättest Du jetzt viele "verstümmelte" Sätze in den Datenbanken.


Prefer ahkscript.org for the time being.


fump2000
  • Members
  • 591 posts
  • Last active: Nov 11 2015 07:52 AM
  • Joined: 01 Nov 2012

Ja das UPDATE OR REPLACE keinen Sinn ergibt ist mir klar... ich hatte dies nur aus Verzweifelung abgeändert weil in der Update Beschreibung eben diese Möglichkeit aufgezählt wird.

 

Hatte gehofft, du findest die Geschichte vllt. etwas lustig und freust dich mit das der Fehler nun gefunden ist. Hab dich ja lang genug damit genervt.