Olli_Master
-
Gesamte Inhalte
203 -
Benutzer seit
-
Letzter Besuch
Inhaltstyp
Profile
Forum
Downloads
Kalender
Blogs
Shop
Beiträge von Olli_Master
-
-
>> Kann ich damit auch normale c++ Projekte compilieren, die das .NEt Framework nicht benötigen?
Jau, habs bei uns im Betrieb getestet - geht ohne Probleme.
Die normalen Konsolenanwendungen funktionieren genauso wie zuvor. Ich weiss aber nicht genau was aus der MFC geworden ist - ich glaube da gibts größere Änderungen.
Aber einen "schnellen" Rechner mit viel RAM sollte es schon sein. (vor allem im Vergleich zur Vorversion)
Hoffe das hilft.
-
Access bietet einfache Möglichkeiten (für den DAU) zur Duplikatsuche von Datensätzen. (Einfach ein ODBC-Connect zur Datenbank machen [=Verknüpfen] und über den Assi eine "Abfrage zur Duplikatsuche" erstellen) Achtung: erfordert Vollinstallation von Access!!
Aber ein FIA sollte es auch per SQL-Statement können:
Man sollte zunächst die Felder bestimmen, die für einen Vergleich in Frage kommen. Der einfachste Fall sind mehrfach eingegebe Artikel anhand eines Feldes (z.B. den Artikelnamen) zu bestimmen (Suche nach identischen Werten in einem Feld):
a) Übersicht
SELECT First(a.Artikelname) Doppelter_Artikelname, Count(a.Artikelname) Duplikate FROM Artikel a GROUP BY a.Artikelname HAVING (((Count(a.Artikelname))>1));
DetailsSELECT a.Artikelname, a.Artikel-Nr FROM Artikel a WHERE (((a.Artikelname) In (SELECT Artikelname FROM Artikel Tmp GROUP BY Artikelname HAVING Count(*)>1 ))) ORDER BY a.Artikelname;
(Die Bindestriche sind glaube Access-like und gehen nicht überall!)
(Wenn es First() nicht gibt, dann nimmt man Min() oder Max() )
Das ganze geht auch mit der Suche in mehreren Feldern, da benutze ich selbst aber auch meist den Access-Assi (schande über mich )
Schwierig wirds bei Aussagen wie - "wir brauchen alle ähnlichen Datensätze". Das muss man exakt definieren können. (Sonst kann man gleich manuell kontrollieren!!!)
Hoffe das hilft.
-
Immer gern genommen werden folgende Szenarien (oder analog):
Ein Unternehmen möchte seine gesamten Kundendaten verwalten.
Und dann kommt es ganz dicke :
Kunden (Name, Adresse, EMail, usw.)
Mitarbeiter
Artikel
Bestellungen (inkl. mehrere Positionen je Rechnung)
Rechnungen
...
(ergänze wenn es zu einfach wird: gezielte Werbemaßnahmen)
ODER
Ein Dienstleistungsunternehmen (Car-Rental-Service) möchte ihre Fahrzeuge, Reservierungen, Kunden, Mitarbeiter, Rechnungen usw. verwalten.
--> Erstelle ein Datenbankmodell in der 3. NF und kennzeichne Primärschlüssel, Fremdschlüssel usw. (Datenbankmodell oder ER-Modell)
Wenn du genaue Vorlagen möchtest, dann besorg dir eine FIA - Abschlussprüfung, da muss man fast immer ein Datenbankmodell erstellen.
Alle Beispiele kann man natürlich aufboren und schön mit netten SQL - Abfragen versehen
Wenn du das ohne Probleme in einer annehmbaren zeit schaffst, dann brauchst du dir keine Sorgen mehr machen.
Hoffe das hilft dir weiter
-
Bei dem Post waren einige Aussagen dabei, die nicht ganz korrekt sind. Damit es später keine Verwirrungen gibt, hier nochmal eine Zusammenfassung:
Beim Runden muss stets die Genauigkeit angegeben werden, auf die gerundert werden soll (z.B. 1/10 oder 1/100). Ziel des Rundens ist es, die Zahl y mit der angegebenen Genauigkeit zu finden, die am nächsten zur ursprünglichen Zahl x liegt. y = f(x)
Es ging hier zunächst um das Runden von Dezimalzahlen zu ganzen Zahlen:
Dafür stehen unter MS Access verschiedene Funktionen zur Verfügung:
1. Int(zahl + 0,5)
2. Round(zahl)
3. CLng(zahl)
Variante 1 funktioniert in allen Access-Versionen und bietet sich auch an um auf eine andere Genauigkeit zu runden
(z.B. 1/100 => fGerundet=Int([zahl]*100+0,5)/100 )
Variante 2 funktioniert ab Access 2000
Variante 3 ist etwas problematisch. Laut Online-Hilfe (Access 97) werden Nachkommastellen gerundet. Dies klappt aber nicht immer korrekt (CLng(22,5) ergibt 22). Diese Funktion sollte man daher vermeiden.
--------------------------------------------------------------------------
Außerdem wurde mehrfach gesagt dass Zahlen von hinten nach vorn zu runden sind. Meines Wissens nach ist das nicht richtig. Ausschlaggebend für die Rundung ist nur die jeweils 1. Ziffer hinter der zu rundenden Stelle.
z.B. Rundung 1/100:
x = 12.244 >> y = 12,24 x = 12,2444 >> y = 12,24 x = 12,2445 >> y = 12,25 x = 12.245 >> y = 12,25
(betrachtet wird hier nur die dritte Ziffer hinter dem Komma!!!)
--------------------------------------------------------------------------
Sollte trotzdem jemand anderer Meinung sein, wäre ein Nachweis nicht schlecht.
-
Der Meinung kann ich mich nur anschliessen.
GH1: 120-180 min (davon der Pseudocode etwa 50% der Zeit)
GH2: war OK (SQL = prima, BAB naja)
WISO: 15 min naja (die übrige Zeit hätte für GH1 prima gereicht)
War GH1 ein Stress-Test oder eine IHK-Prüfung - mir ist das immer noch nicht ganz klar.
-
Viel Gewinn bringen Felle aus Reval (am besten Eigenproduktion)
Außerdem ist Wein aus dem Nordseeraum (Brügge, Gröningen [AddOn], Köln usw.) sehr gefragt.
Aber mal im ernst - warum soll man denn am Anfang ehrlich bleiben? Man nehme einen Kraier, spiele Pirat und kapere ca. 50-100 Schiffe ohne gesehen zu werden und baue damit ein eigenes Handelsmonopol auf:
Man baut Kontore in jeder Stadt. Zuerst in Lübeck, Malmö, Reval, Ripen [Add-On] und Brügge. Vom nächstgelegenen Lager schickt man je einen Konvoi per AutoRoute in jede Stadt. Kauft die günstigen Waren und verkauft alle benötigten. Dann versorgt man alle Lager untereinander und schon ist man Bürgermeister und bald Eldermann - die Taktik geht besonders gut im Add-On wo die Kontorsverwalter Waren Kaufen und Verkaufen können. Im normalen Spiel muss man Lagerkonvois aufstellen.
Und dann sollte man die KI-Händler systematisch in die Pleite treiben, dann kann man auch noch deren Betriebe "übernehmen".
Mehr Details gibts in den einschlägigen patrizier2 - Foren.
P.S.: Spiele jetzt 1,5 "Patrizier2-Jahre" (Start: Reval) und habe ca. 8 Mio Vermögen. Überall Kontore, über 100 Schiffe und kandidiere zum Eldermann.
-
Das mit dem Zugriffsschutz habe ich mal irgendwo so gelesen wie du es beschrieben hast (nur WinNT/2000/XP).
Aber warum umgehst du das Problem nicht, indem du die EXE Datei die Combobox füllen lässt. Die Werte lässt du dir als Liste aus der DLL zurückgeben. Oder spricht da was dagegen?
-
Wie gesagt bei uns fordert es die IHK. Im Zweifelsfall sollte man dort nachfragen.
-
@Ghostwalker80
Soweit ich weiss verwendet Thüringen die "bundesweiten" Prüfungen, aber 100%tig sicher bin ich mir nicht.
-
Sollte auf dem Hinweisblatt der IHK draufstehen.
Bei uns ihk.erfurt:
1. Deckblatt
2. Kompletter Genehmigter Projektantrag
3. Inhaltsverzeichnis
...
usw.
-
wiso: In Thüringen/ihk.erfurt ist es (relativ sicher) multiple choice.
-
Such mal in der Hilfe nach der Funktion ExtractFileName(...). Die ist für soetwas da - ganz ohne stress.
-
Nein, es gibt keinen "normalen" Weg um eine MDE zu einer MDB zu konvertieren. Wäre auch ein wenig gemein, oder?
Man kommt nur an die Tabellen ran, alles andere ist geschützt.
(Es soll da aber diverse Tools geben, die da noch einiges mehr rauslesen können...)
-
Wenn du Access 2000 benutzt dann geht das mit der o.g. Round(..)-Funktion ganz gut.
Wenn du noch die 97-er Variante hast, dann gibts diese Funktion nicht (Alternative --> CLng() )
Deine Mathematik ist ein wenig gewöhnungsbedürftig:
248,437 = 248 aber
248,447 = 249
Das ist m.E. kein Kaufmännisches bzw. mathematisches Runden.
--
beim Runden wird immer nur die erste Stelle hinter der zu rundenden Ziffer betrachtet:
248,437 = 248 / 248,447 = 248 / 248,499 = 248
aber: 248,5 = 249
Ist doch logisch oder? Der Abstand von 248,447 ist doch zu 248 kleiner als zu 249 (0.447 und 0.553)
Bei deiner Rechnung müsste man ja auch 248.4444445 auf 249 aufrunden :confused:
-
int Zahl0001 = 1;
int Zahl0002 = 2;
.
.
.
int Zahl9999 = 9999;
Was soll denn das? Wer keine Arbeit hat, der macht sich welche!
--> Typischer Anwendungsfall für ein Array, Liste, Map etc., eventuell aich für den new-operator oder eine eigene Klasse
for (int xxxx=1; xxxx<10000; xxxx++)
{
cout << Zahlxxxx; <= ich hoffe ihr versteht was ich meine.
}
--> Lässt sich ebenfalls mit den o.g. Varianten realisieren.
das ganze sollte nicht über einen (zusätlichen) array gelöst werden !
Warum nicht? Was genau hast du vor?
------------
Das dynamische Ansprechen von normalen Variablennamen geht nur in einer Script- oder Interpretersprache --> z.B. VB, VBA, VBScript (Funktion eval("variablenname") )
-
Frage 1: DAO
Also leider ist das nicht ganz so einfach zu erklären, aber ich versuchs mal (bitte korrigiert mich wenn ich Quatsch erzähle):
Es gibt unter Access mehrere Bibliotheken bzw. Technologien, die den Datenzugriff auf irgendwelche Datenbanken erlauben. Dazu gehört z.B. DAO (Database Access Objects) - das ist der normale Weg um mit den auf die Access-Tabellen zuzugreifen. Andere Bibliotheken sind z.B. ADO oder RDO. Zu den ganzen Bibliotheken gibts zudem noch verschiedene Versionen, die gleichzeitig installiert sein können und die mit jeder Office Version sich mal änndern (DAO 2.5, 2.6,3.5 usw.)
Welche Bibliotheken verwendet werden wird in der Access-Datenbank festgelgt (Modul --> Menü Extras --> Verweise)
Leider kommt es vor, dass manche Bibliotheken die gleichen Namen für ihre "Klassen" verwenden. Das Recordset ist da ein beliebter name.
Wenn ich nun 2 Bibliotheken mit je einer Recordset-Klasse eingebunden habe und nun "DIM rstTest AS Recordset" schreibe, dann nimmt Access einfach eins von beiden.
Das darf aber nicht sein, da CurrentDB.OpenRecordset(...) ein DAO.Recordset zurückgibt.
Also Kurz: Ist nur die DAO-Recordset-Klasse vorhanden, dann nimmt Access die richtige, wenn mehrere eingebunden sind, dann ist es mehr oder weniger Gücksache. Daher ist es günstiger den Namen der Bibliothek dazuzuschreiben.
Frage 2: Zugriff auf Formular - Versuchs mal so:
Inputfield.Value = Forms("Name des Formulars")!NameDesFeldes.Value
also bei dirInputfield.Value = Forms!("Name des Formulars")!Nachname.Value
Warum Defaultvalue? Der wird nur genommen, wenn das Formular geladen wird. Zum setzen ist value bestimmt besser.
Hoffe das Klappt.
-
Das habe ich mich auch gerade gefragt. (Leider nicht in der FAQ)
Soll man denn die gesamte Zeit für die erstellten Dokumente angeben (Plichtenheft + Feinkonzept + Projekt +Kundendoku ..)
oder einfach nur die Zeit für die Erstellung der Projektdokumentation.
-----------------
Z.B. Um das Feinkonzept auszuarbeiten waren 10 h notwendig, dann habe ich in der Planungsphase 10 h gebraucht, obwohl ich 4 h davon das Konzept geschrieben habe, oder?
-
Ich vermute mal es geht um die Hardwarebeschleunigung der Grafikkarte? Oder vielleicht auch der Soundkarte?
Ist das richtig?
-
versuchs mal mit:
Dim db As DAO.Database Dim rst As DAO.Recordset Set db = CurrentDb() Set rst = db.OpenRecordset("testadmin", dbOpenTable, dbAppendOnly)
und wenn das nicht geht, dann die "Variant - Holzhammer - Methode":Dim rst Set rst = CurrentDb.OpenRecordset("Testadmin", dbOpenTable, dbAppendOnly) 'ToDo: ... End Sub
Wenn das alles nicht hilft, dann die Verweise nochmal gründlich prüfen und ggf. auf einen anderen Rechner testen.
-
Klingt nach einem typischen Problem, was scih mit ein wenig VBA-Code lösen lässt:
(ich vermute mal, dass wenn ihr Outlook einsetzt, dass dann auch VBA kein Problem ist)
Sub EMailList() Dim dbs As Database, rst As Recordset Dim strSQL As String, strEMail As String strEMail = "" ' Verweis auf aktuelle Datenbank holen. Set dbs = CurrentDb strSQL = "SELECT EMail FROM tabelle1 WHERE EMail IS NOT NULL" Set rst = dbs.OpenRecordset(strSQL) While Not rst.EOF If strEMail <> "" Then strEMail = strEMail & "; " strEMail = strEMail & rst.Fields(0) 'Debug.Print strEMail rst.MoveNext Wend rst.Close Set dbs = Nothing MsgBox "EMail-Adressen:" & strEMail 'ToDo: Mail generieren End Sub
hoffe das hilft
-
Die einfache Variante:
select feld1 from tabelle1 where feld1 like [Suchbegriff: ]
Die benutzerfreundliche Variante:select feld1 from tabelle1 where feld1 like '*' & [Suchbegriff: ] & '*'
-
Das geht aber etwas am Thema vorbei, oder?
Es ging ja eigentlich um CDs, oder? Warum sollte man die Inhalte komplett in einer Datenbank speichern nur um zu wissen welche Information auf der CD ist.
(Bei 100 CDs macht das ein 70 GB Tablespace im vergleich zu einer 2-3 MB großen Index-Datenbank)
--
Also was wird nun aus dem Index für die Dateien?
-
Umwandeln kann man ein Dateisystem in eine Datenbank natürlich nicht***.
Man kann natürlich eine Übersicht der Dateinamen und Verzeichnisse in einer Datenbank ablegen.
Dafür muss:
1. Datenmodell erstellen
2. Tabellen erzeugen
3. Script (z.B. per VBA) zum Auslesen der Verzeichnisse und Dateinamen (ggf. auch der Attribute)
4. Eine nette Oberfläche zur Auswahl der Laufwerke/Ordner und zur Suche
Das schwierigste ist bestimmt Schritt 3. Dafür macht sich der Windows Scripting Runtime (WSH) ganz gut wenn man VBA bzw. VB benutzt. Ansonsten geht es auch mit der normalen Windows API.
Der Schritt 3 ist dann aber was für das entsprechende Forum Programmierung.
Das Datenmodell ist abhängig davon, was du speichern willst:
- pc-, datenträger-, laufwerks- oder ordnerbezogen
- dateinamen, attribute
Etwas trickreich kann die Abbildung der Abhängigkeiten (Ordner-Ordner, Ordner-Datei werden)
---------
***(mal abgesehen vom Oracle Internet File System [iFS] - das ist aber ne ganz andere Geschichte :-)
-
ODBC-Treiber sind bei Oracle leider nicht so doll wie vergleichsweise der Treiber für den SQL-Server.
Variante 1: Microsoft ODBC-Treiber für Oracle
Wie der Name schon sagt von Microsoft - quälend langsam, dafür meist schon vorinstalliert. Und nur bedingt kompatibel zu Oracle.
Variante 2: Oracle ODBC-Treiber
Relativ schnell und kompatibel
zum Test:Oracle Technet
Soweit ich weiss brauch man aber zusätzlich unbedingt eine Oracle Client Installation (Net8, etc.)
Für Delphi kommt dann natürlich noch die BDE dazu. Da kommt ein relativ großer Installationsaufwand für das fertige Programm raus!
Hoffe das hilft...
Aufgabenstellung & Lösungen für FIAE + Kern
in Prüfungsaufgaben und -lösungen
Geschrieben
Macht euch mal nicht verrückt - eine Eins bekommt sowieso keiner und geschafft haben es bestimmt auch über 50% der Prüfungsbewerber
Gefordert war ein Datenbankmodell in der 3. Normalform.
Also ist quasi egal, ob mein ein ERD oder eine Tabellenstruktur abliefert. Wobei ich persönlich die eine Tabellenstruktur verwendet habe - einfach aus Zeit- und Platzgründen.
In einem ERD gibt es auch Fremdschlüssel - für was sollte sonst das R stehen?
Bei der 3.NF ging es m.E. hauptsächlich um die Kurse und Buchungen usw.
Wenn man sich die Mühe macht und die Adressen, PLZ, Ort usw. auslagert dann viel spass, dann gibts (wenn man keine Fehler macht) 30 statt 28 Punkten - (Zeit war eh nicht dafür)
Und man unterschätzt das Problem mit den PLZ und Orten meist ein wenig (bedenke: es gibt mehrere Orte mit einer PLZ und mehere PLZ in einem Ort, von Ortsteilen, Straßen, Hausnummern und Hausnummernzusätzen ganz abgesehen) Viel Spass bei der dritten Normalform.
Wenn man sich das antut, dann hat man allein 3 Tabellen nur für Ort und PLZ - also, wer immer noch der Meinung ist, das das in der Prüfung verlangt war, der ist absolut weltfremd :-)
Es wäre m.E. auch Ok gewesen, wenn man die Adresse in der Mitglieder tabelle ordentlich aufgeschlüsselt hätte.
----
Wer das Datenmodell in der absoluten 3.NF (am besten als ERD) aufgemalt hat, bei dem waren dann aber mind. 60 Minuten vorbei :eek: , oder?
Und dann noch schnell in 30 Minuten ein Netzplan, ein Struktogramm und ein paar Zeilen Pseudocode Na vielen Dank
Sorry, das musste jetzt mal sein.