-
Gesamte Inhalte
161 -
Benutzer seit
-
Letzter Besuch
Inhaltstyp
Profile
Forum
Downloads
Kalender
Blogs
Shop
Alle Inhalte von Boro
-
Hallo ! Da hab ich auch lange Zeit Schwierigkeiten gehabt, allerdings ist da üben die einzige richtige Lösung. Einen passenden Link hab ich damals auch nicht gefunden, allerdings hat es mir damals sehr geholfen dass ich mir die Definition auf Karteikarten geschrieben hab: 1. Normalform Eine Relation(Tabelle) ist in der 1. NF wenn jeder Attribut eine atomare, nicht weiter zerlegbare Dateneinheit ist. => Verbot auf von multiplen Attributen Zu Deutsch : Innerhalb eines Tupels(Zeilen) dürfen Werte eines Attributs (Spalte) keine Werte doppelt vorkommen => keine Wiederholungen ! Angenommen du hättest eine Tabelle in der der Name des Mitarbeiters und die Projekte an denen er gerade arbeitet gespeichert sind. Um in die 1. NF zu kommen darf in einer Zeile jetzt nur noch EINE Projektnummer stehen und NICHT "Müller" und "2,6,7,56 usw. 2. Normalform Eine Relation ist in der 2. NF wenn sie in der 1. NF ist und jedes Nichtschlüsselattribut vom gesamten (zusammengesetzten) Schlüssel abhängig ist und nicht nur einen Teil davon. Zu Deutsch : Bei Schlüsseln die aus mehren Attributen bestehen musst du prüfen welche Nichtschlüsselattribute auch dann eindeutig indentifiziert werden können wenn ein (beliebiger) Teil des Schlüssels fehlt. Beispiel: Ein PKW einer Autovermietung wird durch eine laufende Nummer sowie einer Kennzahl für die jeweilige KFZ-Versicherung identifiziert. In der Tabelle steht zusätzlich dass Baujahr, Farbe und der Name der Versicherung. Der (fiktive) zusammengesetzte Schlüssel identifiert zwar den Wagen eindeutig, jedoch reicht die Wagennummer aus um die Farbe zu zuordnen. Aus diesem Grund kannst du dass Attribut Farbe zusammen mit der Wagennummer in eine weitere Tabelle stecken. Das gleiche gilt für die Versicherungsnummer und wahrscheinlich auch für dass Baujahr, deswegen löst sich die oben genannte Tabelle auf und teilt sich in 2 normalisierte Tabellen. Solltest du Tabellen haben die KEINEN zusammengesetzten Schlüssel haben kannst du diesen Schritt übrigens getrost überspringen. 3. Normalform Eine Relation ist in der 3. NF wenn sie in der 2. NF ist und innerhalb der Relation kein Nichtschlüsselattribut von einem anderen als dem Primärschlüssel abhängig ist. (Wird auch als transitive Abhängikeit bezeichnet.) Zu Deutsch : Du darfst keine Attribute haben dass in irgendeiner Form von einem anderen als dem Primärschlüssel abhängig ist. Beispiel : Du hast eine Tabelle in der Projektnummer, Mitarbeitnummer und Mitarbeitername gespeichert sind. Die Projektnummer ist der Primärschlüssel. Um in die dritte NF zu kommen musst du nun die Abhängikeit des Mitarbeiternames zur Mitarbeiternummer beseitigen indem du wieder eine neue Tabelle einfügst und dort die Mitarbeiternummer und den Mitarbeiternamen einfügst. An diese Reihenfolge musst du dich streng halten, sonst normalisierst du an der Aufgabe vorbei. Hoffe das hilft dir erstmal, bei dem Thema hilfst echt nur üben. So long. Feivel
-
VB6: Datenobjekt in verschiedenen Formularen bearbeiten???
Boro antwortete auf ChrisDaHub's Thema in Delphi/RPG+CL/Sonstige
Das geht und zwar gibt es für die Listbox ein Klick-Ereignis indem du den Index des angeklickten Eintrags auswerten kannst. Syntax : Wert = Listbox.item(listbox.index) (Kann sein dass ich mich da irre, hab´s jetzt nicht ausprobiert, steht aber in der Hilfe (MSDN) ganz gut beschrieben). Die Zuweisung in eine Variable ist nicht unbedingt erforderlich, jedoch hilfreich. In Wert würde jetzt der Wert des anklickten Eintrag (z.B. ein Name) stehen und den kannst du dann wieder in einem Select einfügen und mit Hilfe des Recordsets die Felder füllen. Hoffe dass hilft dir weiter, ansonsten texte mich mal per PM an. Gruß Feivel -
vba - so ne art fortschrittsanzeige in einer msgbox ausgeben
Boro antwortete auf VooDoo1981's Thema in Delphi/RPG+CL/Sonstige
Hm, also so wie es beschrieben hast wird es wohl nicht gehen da du die Funktion Messagebox innerhalb der Schleife immer wieder aufrufst. Ich würde mich hierbei nicht auf die Standard-Messagesbox verlassen sondern einn neues Formular einfügen, dass wie eine Messagesbox gestalten und dann die (Steuer)elemente auf dem (aktiven) Formular einfach bei jedem Schleifendurchlauf aktualisieren. Ich denke nicht dass es möglich ist auf eine Standardmessagebox eine Fortschrittsleiste einzufügen, denn soweit ich weiß wird zum bilden der Box eine Api-Funktion aufgerufen die als Parameter nur Grundeinstellungen wie Größe, Position, Titel usw. bekommt und die Progressbar wäre ja schon ein neues Objekt mit eigenen Parametern. So long ! Feivel -
396 !! davon aber mindestens 132 die sich gleich zwei oder mehr Accounts zum sinnlosen Rumgemotze wie z.B. "die böse IHK hat mir alles verbaut" geben lassen. Gruß Feivel
-
.....da kann ich mich nur anschliessen. Als Beitrag steuere ich einfach mal meine Signatur bei....
-
Hallo ! Da hat Jaraz zwar grundsätzlichg recht, allerdings sind die Preise bei Ebay auch deswegen recht günstig weil überzogene Wiederverkäuferrabatte & draufgerechnetes Skonto fehlen. Teilweise verkaufen bei Ebay auch Großhändler die Restbestände los werden wollen. Mein Tipp : Bei den Angeboten auf die genaue Komponentenliste achten und ggf. eine Rückfrage an den Verkäufer. Mit Käufen von Privatpersonen wäre ich allerdings auch vorsichtig, immerhin wird es sich dabei größtenteils um gebrauchte Ware handeln. Hab meinen jetzigen Rechner in Einzelteilen bei Ebay gekauft und dabei ein Super-Schnäppchen gemacht. Empfehlen kann ich sonst noch www.alternate.de Viel Spass noch ! Gruß Feivel
-
Hallo ! Kennt jemand eine Möglichkeit ein bestehndes Access-Formular aus einer MDB-Datei in ein Formular unter VB 6.0 zu exportieren ? Gruß Feivel
-
Bestimmte Anzahl an Sekunden (als Single Wert) in hh:mm:ss umwandeln
Boro antwortete auf Thema in Delphi/RPG+CL/Sonstige
Ja, so geht es, aber ich frage mich auch welches Problem du lösen möchtest. Darf ich mal fragen wann du die Sekunden berechnest und wofür du das Ergebnis brauchst ? Ich kenne noch die Lösung mit der Funktion "Dateadd", bei der du auf ein bestehendes (aber beliebiges) Datum eine bestimmte Anzahl von Tagen, Stunden, Minuten oder auch Sekunden draufrechnen kannst. Als Rückgabewert bekommst du das neue Datum. Wenn du den Startwert (vblongdate) deiner Messung kennst & gespeichert hast, kannst du mit "Datediff" die Differenz in Stunden und Minuten ausgeben lassen. -
Hallo, ich brauche mal Hilfe bei echtem Neuland. ich hab mir vor zwei Tagen SuSE Linux 7.3 aufgespielt und bin echt begeistert. Bis jetzt arbeite ich nur mit der KDE und habe mir den Internetzugang per TDSL unter meinem erstellten Benutzer konfiguriert. Dafür musste ich dass Root-Passwort eingeben und hab dabei auf "Passwort merken" geklickt. Nach der Konfiguration musste ich die KDE neu starten und konnte auf dass "Stecker" Symbol klicken um online zu gehen. Soweit so gut. Aber........ Nachdem ich den Rechner am nächsten Morgen neu gestartet habe war die Konfiguration weg, dass Symbol war verschwunden und es war auch nicht mehr möglich Online zu gehen. In der History ist dass Konfigurationprogramm noch verhanden, allerdings muss ich jetzt wieder die Root-Kennung eingeben. Nachdem ich dann nochmal okay geklickt habe muss ich nochmal starten und kann wieder online gehen. Aber warum bleibt die Konfiguration nicht erhalten und warum muss ich die Root-Kennung immer wieder eingeben ? Ich hab versucht mir über die Benutzerveraltung die Administratorenrechte (Root ??) dafür zu geben, aber dass geht auch nicht. Ich komm nicht weiter, kann sich jemand vorstellen voran dass liegt ? Danke im vorraus !
-
Hallo, erstmal Danke an alle. Den Ramtest werde ich mal machen, aber ich denke nicht dass es daran liegt, denn ich arbeite auch mit dem Rechner und Office & Entwicklertools arbeiten fehlerfrei. So langsam glaube ich dass ein Bekannter irgendwas umgestellt hat (wir teilen uns den Rechner) und nicht mehr weiß was er da eigentlich gemacht hat. Denn bis vor ein paar Wochen lief noch alles einwandfrei, und dass wundert mich so bei der ganzen Sache. :confused: Die Spiele mit denen ich es getestet hab sind Quake I und Halflife. Hatte das Problem schonmal mit Blobby Volley, aber nach der Installation von Directx lief es wieder. Komisch, Komisch....aber ich werd´s trotzdem mal probieren. bis denne ! Feivel
-
Hallo ! Ich bekomme unter Windows 2000 ständig eine Fehlermeldung wenn ich verschiedene Spiele starten will, das Programm startet zwar und versucht in eine andere Bildschirmauflösung zu wechseln aber dann kommt folgende Fehlermeldung : General Protection Fault at eip=00046b43 eax=fd11046c ebx=00126200 ecx=0000ffff edx=fd110000 esi=00000054 edi=000e32 ebp=0012325c esp=001231b8 cs=01a7 ds=01af es=01af fs=01cf gs=01cf ss=01af Call frame traceback EIPs: 0x00046b43 Teilweise wird der Fehler auch in Deutsch angezeigt ("Allg. Schutzfehler an Adresse YXZ"). DirectX ist in der letzten Version drauf. Weiß jemand was dass sein könnte ? Danke im vorraus ! Feivel
-
Hallo, ich schreibe in den nächsten Woche meine Zwischenprüfung. Da ich in einer Umschulungsmaßnahme bin findet diese außerhalb der normalen Termine statt. Die Prüfung setzt sich aus zwei Klausuren über die bisherigen Themen und einer Orginal-Zwischenprüfung der IHK zusammen. Ich würde mich gerne auf die IHK-Zwischenprüfung vorbereiten, es wäre daher super wenn mir jemand die Prüfungen der letzten Jahre zumailen könnte. Bitte meldet euch kurz per PM ! Danke im vorraus ! Gruß Feivel
-
Nö, hab nix gesehen, kenne denn Kerl überhaupt nicht......! :D Nee, stimmt schon, hab die Screenshots gesehen, ist echt nicht zu glauben.
-
Ich hab auch einen, der ist aber nicht so heftig : Telefongespräch mit einer Freundin : Sie : Ich kann die Datei nicht öffen ! Ich : Soso, was ist dass denn für Datei ? Sie : Ein animierter Brief von meinem Freund. Ich : *nachdenk* Ähhh, und welche Dateiendung hat die Datei ? Sie : Weiß ich nicht, wie bekomme ich dass raus ? (5 Minuten später hab ich schrittweise erklärt wie man mit Hilfe des Explorer die Dateiendung herausfindet.) Sie : xzy.ppt Ich : *Erleuchtung* Ach so, PowerPoint, hast du denn Office installiert ? Sie : Das weiß ich nicht Ich : Hast du es denn überhaupt ? Sie : Ich hab Windows 98, reicht dass ? So long Feivel
-
Weil es immer wieder schön ist: Ein Zitate-Raten
Boro antwortete auf Harley Davidson's Thema in Small Talk
Hi. Welcher Film ist dass ? 'The path of the righteous man is beset on all sides by the inequities of the selfish and the tyranny of evil men. Blessed is he who, in the name of charity and good will, shepherds the weak through the valley of the darkness. For he is truly his brother's keeper and the finder of lost children. And I will strike down upon thee with great vengeance and furious anger those who attempt to poison and destroy my brothers. And you will know I am the Lord when I lay my vengeance upon you'. Die deutsche Übersetzung ist nicht so toll, aber man erkennt sie wenn man den Film gesehen hat. Viel Spass beim raten ! -
Nicht zu fassen !! Hab doch auch ein optische Maus, aber 1380 Meilen/h ?????? Da ist doch bestimmt ein Trick dabei, oder ? An den Rest : 380 !!!!! (Gerade eben, hab aber vergessen einen Screenshot zu machen, ) :bimei :bimei :bimei
-
VB.NET : Kann einzelnes Recordset nicht schliessen, warum ?
Boro antwortete auf Boro's Thema in Delphi/RPG+CL/Sonstige
Hallo Blear, erstmal Danke ! Deine Frage ist echt berechtigt, ich hab dass Recordset vor jedem Open geschlossen weil ich durc h dass erneute öffen ein neues Absetzen des SQL-Statements erreichen wollte. Das hab ich so in der Schule gelernt um die Laufzeitfehler zu umgehen. Jetzt ist mir erstmal klar geworden dass ich dass ja gar nicht brauche, ein einfaches Requery reicht völlig. In dem Fall fällt dass Problem mit dem Recordset natürlich weg, da es nicht mehr geschlossen werden muss. Die Reihenfolge hatte ich vorher schon wie oben, ich hatte sie nur nicht in der der Reihenfolge & ohne Connection gepostet. Ich hab die Eigenschaft .ActiveConnection eigentlich nur zufällig genommen, da ich eine Eigenschaft gesucht habe die sich erst beim öffnen des Recordsets initialisiert und somit auf Nothing abgefragt werden konnte. NeeNee, wie kompliziert man es sich eigentlich machen kann und dabei war´s so einfach, aber dass Problem ist mehr als gelöst, danke nochmal ! :bimei Gruß Feivel -
Weil es immer wieder schön ist: Ein Zitate-Raten
Boro antwortete auf Harley Davidson's Thema in Small Talk
Ach, denn kenn ich......so ein Mist, mir fällt es gerade nicht ein.........! Das der mit dem Zahnarzt und seine geldgeilen Frau, die am liebstens seine Lebensversicherung ausgezahlt haben will als nebenan ein ehemaliger Berufskiller (Bruce Willis)einzieht (Johnny die Tulpe Tulplewsky, oder so ?) und er total am Teller dreht...... Aber wie heißt der bloß nochmal..........??? *AAhhhrrrGGG* Keine halben Sachen ? Zumindest so ähnlich Nachtrag : Schade, hab gerade gesehen dass Uncle Reaper schneller war, naja laß mein Posting trotzdem stehen. -
Hallo, ich hab ein Problem bei dem ich nicht mehr weiter komme und auch nicht weiß woran es liegen könnte. Also, ich habe ca. 16 Formulare habe, für (fast) jedes Formular habe ich ein Recordset. Die werden während des Form_load -Ereignis initialisiert, beim .open wird dass SQL-Statement abgesetzt. Da der User die Formulare immer wieder öffnen und schliessen kann habe ich eine Prüfung eingebaut. Diese Prüfung verhindert den Laufzeitfehler wenn dass zu öffnene Recordset schon offen ist, indem es ein offenes Recordset vorher einfach schliesst. Das Problem ist nun dass ein einzelnes Recordset zwar als geöffnet registiert wird, aber beim .close einen Laufzeitfehler erzeugt. Fehlernummer : 3129, Fehlertext : Der Vorgang ist in diesem Zusammenhang nicht zugelassen. Und dass komische ist dass es nur bei diesem einem Recordset passiert, alle anderen funktionieren ohne Probleme. Aufgrund des Errorhandlers wird ein ResumeNext durchgeführt, da dass Recordset aber nicht geschlossen ist kommt der nächste Fehler sofort. Der Code : 'Deklaration ist in einem Basis-Modul Public rstadressen As New ADODB.Recordset() 'Das steht im Formload-Ereignis Datenbankverbindung_prüfen(rstadressen) rstadressen.Open("select * from SP_Anschriften where SP_Anschr_Kdnr = '" & rstKunden.Fields("Sp_kd_nr").Value & "' order by SP_Anschr_KzAnschr", Verbindung, ADODB.CursorTypeEnum.adOpenDynamic, ADODB.LockTypeEnum.adLockOptimistic) 'Die Prüfroutine die den Laufzeitfehler abfangen soll Public Function Datenbankverbindung_prüfen(ByRef rstObjekt As Object) On Error GoTo errorhandler If (rstObjekt.activeconnection Is Nothing) = False Then rstObjekt.close() End If Exit Function errorhandler: MsgBox("Es wurde leider festgestellt dass ein Fehler aufgetreten ist, das Programm wird fortgesetzt." _ & vbNewLine & "Es wird jedoch dringend empfohlen dass Sie das Programm neu starten. Sollte der Fehler erneut auftreten verständigen Sie bitte den Administrator." _ & "Fehlernummer " & Err.Number & vbNewLine & "Fehlerbeschreibung: " & Err.Description, MsgBoxStyle.Critical + vbYes) Resume Next End Function Das Datenbanksystem ist Access XP (DB in Access 2000 erstellt). Der Laufzeitfehler deutet auf einen Datenbankfehler hin, aber welchen und warum ? Hab schon versucht die Prüfrountine an anderer Stelle aufzurufen, aber das klappt auch nicht. Vielleicht hat jemand von euch dass Problem ja schon mal gehabt, denn ich weiß nicht weiter. Danke im vorraus ! Gruß Feivel
-
Weil es immer wieder schön ist: Ein Zitate-Raten
Boro antwortete auf Harley Davidson's Thema in Small Talk
--------------------------------------------------------- 2. Erkan & Stefan 3. American Pie I 4. Hey Man, wo is mein Auto ? Bei eins bin ich mir nicht sicher. Eventuell "Das Leben stinkt", wo er versucht die Anwälte seines Partners zu bestechen weil er fürchtet die Wette zu verlieren ? Gruß Feivel :marine -
Hehe.... 323 Meilen pro Stunde Aufschlagsgeschwindigkeit..... Möchte nicht wissen wo dass Vieh landen würden.
-
*stöhn* ich will auch nach Hause, meine lieben Kollegen sind schon seit 2 Stunden weg und bin ganz allein hier mit meinem Radio & dem Telefon, dass ich noch bis 16:00 Uhr "bewachen" muss. Gelernt hab ich schon und programmieren mag ich heute nicht mehr, produziere heute eh nur Mist & Endlosschleifen. Aber zum Glück gib´s Fachinformatiker.de, hier zumindest was los. So, jetzt überstehe ich tapfer die letzte viertel Stunde und wünsche allen ein schönes Wochenende ! Gruß Feivel
-
Gehalts Statistik in der IX und c´t..
Boro antwortete auf gicio's Thema in Ausbildung im IT-Bereich
Hi, Ist zwar ziemlich Off Topic, aber ich wollte einfach mal anmerken wie recht du hast. Gerade bei der Anwendungsentwicklung geht nichts über eine ausreichende Planung, ohne hast du x-Zeilen Programmcode, kein Problem gelöst, aber 3 neue geschaffen. Ich find´s genauso schrecklich wenn man FI´s daran beurteilt wie gut sie Programmieren können. Klar, ein gewisses Grundverständnis ist nötig. weil man meiner Meiung nach auch für die Programmiersprache spezifisch planen sollte, aber das eigentliche Programmieren ist Tipp-Arbeit, dass allein macht keinen FI aus. (Spiegelt sich übrigens auch in den IHK-Prüfungen wieder) Und dass Studenten nix können ist eine ganz schön dreiste Behauptung, wenn dass einer meint sollte er sich mal anschauen was ein Informatikstudent im 2-3 Semester so alles zu lernen hat. Zum Thema Gehalt möcht ich nur mal hinzufügen dass es doch gar nicht so sehr darauf ankommt was ihr im Endeffekt auf dem Konto hab, sondern vielmehr welche Möglichkeiten sich aus eurer Beschäftigung bieten. Ich hätte keine Probleme damit für < 25000 Teuro arbeiten zu gehen, wenn ich dafür eine faire Anstellung mit Spass an der Arbeit und die Möglichkeit zur Weiterbildung hab. Das ist langfristig nämlich mehr wert als Geld. So long, Feivel -
Hallo, 1. Frage : Probier es mal mit der String-Funktion Mid Syntax : Mid(STRING,N,1) Und dann mit einer For next-Schleife jedes Zeichen einzeln durchgehen, wobei "N" das jeweilig zu prüfende Zeichen angibt (dessen Position innerhalb des Strings), die 1 bedeutet dass du immer ein Zeichen prüfst. Bsp: dim n as integer dim pruefer as boolean for n = n to len(STRING) if mid(STRING,N,1) = "@" then pruefer = true end if next Wenn der Prüfer nach dem Durchlauf der Schleife immer noch auf False steht hast du keine gültige Emailadresse. Das Prinzip geht auch mit dem ".de" am Ende. 2. Frage : Mit isnumeric kannst prüfen ob Textfelder nur Nummerische Werte haben. Rückgabewert ist boolean. 3. Frage : if formatdatetime(VARIABLE, vbshortdate) = formatdatetime(now, vbshortdate) then msgbox ("Glückwunsch") end if Es gibt übrigens eine Menge Steuerelemente die solche Standarteingaben wie Email & URL´s automatisch prüfen zum download auf den verschiedenen Seiten für VB. Wenn du also keinen Bock hast das Rad jedes mal neu zu erfinden solltest du dich mal da umsehen. Viel Spass noch ! Feivel