Zum Inhalt springen

Olli_Master

Mitglieder
  • Gesamte Inhalte

    203
  • Benutzer seit

  • Letzter Besuch

Alle Inhalte von Olli_Master

  1. Hat sich erledigt. Lösung: http://home.worldonline.dk/viksoe/propertytree.htm
  2. Ich hab was passendes in der MSDN gefunden - konnte es aber nicht testen - also keine Garantie: Auszug aus der MSDN: HOWTO: Use NT Simple TCP/IP Services for Winsock Testing Using the Echo Service Create a new Standard EXE project in Visual Basic. From the Projects menu, choose Components. Make sure that Microsoft Winsock Control is checked and click OK. Add a Winsock Control to the form and leave it named Winsock1. Add three CommandButtons named cmdConnect, cmdEcho, and cmdDisconnect, and then change the captions to Connect, Echo and Disconnect, respectively. Add two text boxes and leave them named Text1 and Text2, but change the MultiLine property on each to True. Add the following code to the form: Option Explicit Const EchoPort = 7 Private Sub cmdConnect_Click() Dim temp As String temp = InputBox$("Enter a server name...", _ "Connect to the Echo Service", Winsock1.RemoteHost) If temp <> "" Then If Winsock1.State <> sckClosed Then Winsock1.Close Winsock1.RemoteHost = temp Winsock1.RemotePort = EchoPort Winsock1.LocalPort = 0 Winsock1.Connect End If End Sub Private Sub cmdDisconnect_Click() If Winsock1.State <> sckClosed Then Winsock1.Close cmdConnect.Enabled = True cmdDisconnect.Enabled = False cmdConnect.SetFocus End Sub Private Sub cmdEcho_Click() Winsock1.SendData Text1.Text cmdEcho.Enabled = False End Sub Private Sub Winsock1_Close() If Winsock1.State <> 0 Then Winsock1.Close End Sub Private Sub Winsock1_Connect() cmdConnect.Enabled = False cmdEcho.Enabled = True cmdDisconnect.Enabled = True End Sub Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long) Dim temp As String temp = String(bytesTotal, "*") Winsock1.GetData temp, vbString, bytesTotal Text2.Text = temp cmdEcho.Enabled = True End Sub Private Sub Winsock1_Error(ByVal Number As Integer, _ Description As String, _ ByVal Scode As Long, _ ByVal Source As String, _ ByVal HelpFile As String, _ ByVal HelpContext As Long, _ CancelDisplay As Boolean) MsgBox "Error: " & Number & vbTab & Description, vbOKOnly, _ "Winsock Control 1 Error" CancelDisplay = True End Sub Ich hoffe das hilft dir weiter.
  3. Folgende Voraussetzungen brauchst du für den Zugriff von VB6 auf Oracle: 1. Oracle Client mit korrekten Einstellungen in der tnsnames.ora (tnsping <<oraclesid>> muss funktionieren) 2. Du brauchst Oracle ODBC-Treiber (Meist Teil der Installation, aber nicht immer !!!). Dann legst du eine DSN unter Sytemsteuerung--> ODBC-Datenquellen an. Hier musst du alle notwendigen Parameter angeben - Treiber: Oracle ODBC Treiber (v8.x.x.x.x) - DSN-Name: ist egal - ServiceName: der Eintrag aus der tnsnames.ora - UserName: Oracle-User Treibereinstellungen sind ggf. Versionsabhängig. Wenn du das geschafft hast und den Verbindungstest der ODBC-Verbindung klappt, dann hast du es fast geschafft. Jetzt musst du nur noch passenden Provider aussuchen: ==> Microsoft OLE DB Provider für ODBC. <== Und schon kannst du auf Oracle zugreifen. ------ Eventuell muss der Nutzer sich jedesmal an einem ODBC Fensterchen vor dem ersten Zugriff auf die DB anmelden. Ich hoffe das hilft.
  4. Ich suche ein Steuerelement mit dem ich möglichst platzsparend Properties bearbeiten kann. Diese Eigenschaften sollen in einer Baumstruktur dargestellt werden und mit "einem Klick" bearbeit werden können. Das Steuerelement soll so ähnlich funktionieren wie das Eigenschaftsfenster von VB 6.0. Es könnte z.B. so aussehen: Das Problem ist, dass ich nur C++ bzw. WinAPI zur Verfügung habe (nicht MFC, nicht .NET Windows-Forms). Gibt es hierfür bereits ein fertiges Steuerelement - oder eins was ich entsprechend anpassen könnte? Compiler: VC++ 6.0 Danke im voraus.
  5. Das Problem besteht doch darin, dass liegt doch darin, dass man mit VB keine DLL schreiben kann, die eine normale Prozedur "exportiert". Demnach sieht man mit Depends auch keine exportierten Funktionen und kann sie nicht per LoadLibrary() und GetProcAddress() laden. Ich habe 2 Alternativen im Netz gefunden: 1. Alternative: ActiveX-DLL http://www.codeproject.com/dll/vbactivexwithvc.asp 2. Alternative: wrapper-table (Hackerei) http://www.al-williams.com/new/tips/tip30.htm Außerdem gibt es noch ein paar Firmen, die diese Funktionalität als "Produkte" verkaufen: z.B. http://simplysolutions.com/visdll/detail.html Ich hoffe das hilft.
  6. Ich denke du hast gleich mehrere Probleme: 1. Verschiedene (möglicherweise sogar veränderliche) Datenquellen 2. Mehrere Dateninformationen in einem Datenfeld 3. Werden die Daten regelmäßig upgedated und was soll in diesem Fall passieren. 4. VBA ist nicht gerade das schnellste, wenn es um Dateiverarbeitung geht - so kann die Konvertierung einige Zeit in Anspruch nehmen -------------- Nun ist die Frage was du genau erreichen möchstest. (Was möchte der Kunde mit dieser Datenkonvertierung erreichen? ) - Reicht es die Daten 1:1 in Excel zu importieren oder müssen einzelne Datenfelder transformiert werden? - Um wieviel Datensätze geht es eigentlich pro Datei? -------------- Für den Fall, dass du eine 1:1 Abbildung in Excel ausreicht - hält sich der VBA-Script in Grenzen. Du liest Zeile für Zeile aus und überträgst die Dateien in die Excel-Tabelle. Nach 65536 Zeilen fängst du in Excel wieder in einer anderen Spalte neu an. (Am besten fängst du an und bei Problemen machst du im Forum ein neues Thema auf.) Wenn du aber "irgendwelche" Felder "irgendwie" aufslitten musst, dann muss das vorher eindeutig festgelegt werden. Das erhäht die Laufzeit des Scripts erheblich! -------------- Günstig wäre außerdem eine eindeutige Definition der Datenschnittstelle (z.B. ASCII-Format und Felder durch TAB getrennt, max. Datensätze 1 Mio). Nur so kannst du auch was vernünftiges abliefern. Ich hoffe das hilft dir :confused:
  7. Ganz einfach: 1. Du hast die SQL-Abfrage mit WHERE spalte1 = ".." or spalte2 = ".." or ... gemacht. 2. Die Ergebnisse bekommst du als Recordset (ODBC - vermute ich). 3. Nun durchsuchst du die zurückgegebenen Datensätze Feld für Feld bzw. auch Zeile für Zeile nach diesem Wert. Um Feld für Feld zu durchsuchen musst du die Fields-Auflistung durchgehen. Daraus kannst du den Feldnamen = Spaltenname ermitteln. Hoffe das hilfe.
  8. Unter Windows NT: Imaging (im Lieferumfang dabei) "Start -> Programme -> Zubehör -> Imaging"
  9. Warum brauch der Kunde die Daten in gerade in Excel, reicht Word/WordPad/Notepad zum suchen nicht aus?
  10. Excel hat wie du gemerkt hast die Begrenzung auf 65K Zeilen Mir fallen auf Anhieb 2 Lösungen ein: Variante 1: Import in Access Sollte die einfachste Lösung sein... Variante 2: Excel VBA-Makro Die Datei wird Zeile für Zeile gelesen und via VBA in das Tabellenblatt übertragen. Nach der 65536. Zeile wird in der 3/4 Spalte weitergemacht. Das sollte allerdings ziemlich lange dauern... -- eine Excel-Lösung - aber keine gute --
  11. Einer Sicht/Abfrage wird kein Primärschlüssel vergeben. Das DBMS verwaltet intern die ROWIDS der einzelnen Datensätze. Was soll der Primärschlüssel denn bewirken?
  12. Normalerweise brauchst du immer die ODBC-Treiber um mit auf Excel- oder Access-Daten zuzugreifen. 1. Access-->Oracle: Wenn du eine Access-Datenbank möglichst 1:1 nach Oracle bringen möchtest: Oracle Migration Workbench 2. Excel-->Oracle: Das ist in dem ja keine Datenbank im eigentlichen Sinne. Also musst die Tabellenblätter zunächst in ein verwertbares Format bringen (CSV, TXT) 3. ASCII - Dateien (TXT, CSV) --> Oracle Hier ist wie schon gesagt der Oracle SQL-Loader sehr gut (insbesondere bei größeren Datenmengen) Alternativ: Wenn ihr irgendwo einen SQL-Server haben solltet, der bietet komfortable Wizards (DTS) für Datenimport- und Export via ODBC. (Oracle Client) So könnte man auch direkt Excel-Dateien importieren.
  13. Wir setzen seit 3 Monaten Visual Studio.NET Prof ein und haben bisher 3x folgendes Problem mit der MSDN-Online-Hilfe: Es lassen sich keine Hilfetexte mehr aufrufen (IDE oder Direktaufruf), der Index ist komplett leer, es sind keine Collections mehr definiert. Auch die kontext-sensitive Hilfe funzt nicht mehr (also kurz gesagt: Hilfe geht gar nicht mehr!) Folgende Konfiguration liegt vor: a) WinXP Prof (dt.) + VS.NET Prof (dt.) VS 6.0 Pro (dt.) + MSDN Oct. 2000 (Engl.) Zuerst liefen alle Programme wunderprima, dann nach unbestimmten Zeitabständen tritt das o.g. Problem auf. Die unter ( aufgeführten Programme laufen ganz normal weiter. Einzige Notlösung war die Reperatur des MSI-Packages, die sagenhafte 2,5h Stunden dauert (Athlon 900, 384 MB RAM) Kennt jemand das Problem oder hat einen Lösungsvorschlag (für das nächste mal). Danke im Voraus
  14. Sorry, ich habe nur den gekürzten Titel auf der Startseite gesehen. Da war mein Lösungsvorschlag natürlich absoluter Quatsch. - Schande über mich - Andere Vorschlag: Hast du mal versucht das Dokument in einem anderem Format (Word95/7.0, RTF, etc.) abzuspeichern? Dabei könnten eventuell Formatierungen verloren gehen... -- Wenn das nix hilft, liegt es vielleicht an deiner Office-Installation. Hast du das Speichern auf einem anderen Rechner versucht? -- Wenn ihr irgendwo Adobe Acrobat (die teure Vollversion) - da gibts eine sogenannte Webcapture - Funktion. Da versucht das Programm die eingebene Url (und ggf. angeklickte Folgeseiten) in eine PDF-Datei zu konvertieren - ist aber nichts hundertprozentiges, da es sehr vom Inhalt, Format und dem verwendeten Schnickschnack abhängt (Frames, Applets, JavaScripts, DHTML usw.).
  15. 1. Ist eine Netzwerkkarte installiert? 2. Wie lautet der (Netzwerk-)name des Win2K-Rechners? 3. Welche Version vom Apache wird verwendet? 4. Erfolgte die Installation mit Admin-Rechten? 5. Ist der Apache-Dienst gestartet bzw. gibt es zugehörige Einträge im Ereignisprotokoll? 6. Welche Einträge sind in der httpd.conf (ServerName usw.) Test mit Browser: a http://localhost:80 b http://<<netzwerkname>>:<<port>> c http://<<netzwerkname>>.<<domain>>:<<port>>
  16. Hatte schon mal ein ähnliches Problem bei einer Projektdokumentation unter Word 97. Ich habe das Dokument dan "Stückchenweise" in ein neues kopiert. Ab Word 2000 ist das Problem dann nicht mehr aufgetreten - vielleicht wäre das einen Versuch wert?
  17. Dumme Frage: Hast du vielleicht den "Scroll Lock" auf der Tastatur aktiviert (Taste: Rollen \/)? Das würde das Phänomen erklären.
  18. @fireworker >Warum frägst Du nicht die Länge der Zeichen ab? >Und wenn die Länge kleiner 3 ist, dann soll eine 0 voran. Weil es 280.000 DS sind und da etliche Operationen mehr notwendig sind, damit es ein Textfeld wird und da es so einfachher zu erweitern ist (je nach Art der Daten) wenn(len(str(zahlenfeld))<3; "0" & zahlenfeld; str(zahlenfeld) ) Meinst du das geht schneller? Und außerdem könnte ja auch eine einstellige Zahl dabei sein. Dann wird dein System ein wenig komplizierter. Die andere Lösung kann jedoch einfach auf Right("00" & zahlenfeld; 3) erweitern.
  19. >TEXTFELD: "0" & [ZAHLFELD] Wenn du das so verwendest, dann wird immer eine 0 vorn angehangen. Wenn es aber auch dreistellige Zahlen gibt, dann würde es ein vierstelliger Text werden (123 --> 0123). Das ist aber nicht in deinem Sinn, oder? In diesem Fall hilft die Funktion Right(str,cnt) weiter. TEXTFELD: Right("0" & [ZAHLFELD];3)
  20. Für die Verwendung von PL/SQL bietet sich z.B. die folgende Kombination an: 1. Apache Webserver und mod_plsql 2. Oracle Web Toolkit 1. Ab 8.1.7 wird der Apache Webserver gleich auf der Datenbankmaschine mitinstalliert (zumindest bei der NT/2000 - Version) - das Ding heisst OracleHTTPServer powered by Apache (oder so ähnlich) mod_plsql ist eine Apache-Modul, dass das ausführen von Prozeduren und die Parameterübergabe ermöglicht. Fr+her musste es von Hand konfiguriert werden 2. Das Oracle Web Toolkit ist eine Sammlung von ein paar PL/SQL-Packages für grundlegende HTTP-Ausgaben. z.B. htp.p('Hallo Welt'); Aufruf der mod_plsql - Administration: http://hostname.domain:80/pls/ Hier wird ein sog. DAD (Database Access Descriptor) konfiguriert, der die "public" - Anmeldung an der Datenbank ermöglicht. Aufruf einer PL/SQL-Prozedur: http://hostname.domain:80/pls/dad/dbschema.prozedur_name?param1=wert1 Ggf. ist bei 9i schon alles vorinstalliert und konfiguriert. Ich hoffe da hilft. P.S.: Vorsicht ist bei den Anzahl der benötigten Datenbanklizenzen geboten - insbesondere bei einer per User/Session - Lizenz.
  21. Wenn man den Status nicht abfragen kann, dann sollte man doch wenigstens dem Nutzer auf geeignete Weise anzeigen, dass viele Daten abgerufen werden. (Kleine Animation oder eine Progressbar) Alternative? Vielleicht kann man Datenbankseitig was optimieren? Wenn du nur lesen musst und die Daten nicht 100% aktuell sein müssen - bietet sich eventuell ein Materialized View (= Snapshot) an - mit einem passendem Index sollte das auch bei ein paar Mio-Datensätzen recht schnell gehen (Wenn du nur im Index suchst) Vielleicht sollte man auch analysieren, warum es so lange dauert? (Full-Table-Scan, Index, Cache-Treffer, Sperrungen, ...) Bei uns ist es zwar nur ein "kleiner" NT-Server - bei uns dauert aber keine optimierte Abfrage mehr als 2 Minuten.
  22. Also - nochmal ganz langsam! Verknüpfe noch mal ein paar Tabellen auf die altbewährte Methode. Dann führe mal folgenden VBA-Code aus: 'Ausgabe der Connect-Eigenschaft aller verknüpften Tabellen Public Sub Test() Dim tdf As TableDef For Each tdf In CurrentDb.TableDefs If Not IsNull(tdf.Connect) Then MsgBox tdf.Connect Next tdf End Sub Die Ausgabe gibt genau den Connect-String aus, den du für die jeweilige Datenbank benötigst. Nur mal zur Info: Welche Version vom ODBC-Treiber hast du installiert? Und welche Datenbankversion verwendet ihr? Versuchs mal und sag Bescheid, ob's klappt.
  23. DSN-Name ist frei wählbar (unter ODBC-Datenquellen) Service-Name ist PROD (bzw. PROD.world) Du kannst es auch so machen, das der DSN gleich dem Service-namen ist. Das ist vollkommen egal. sConnect = "ODBC;DSN=PROD;UID=pdv22;DBQ=PROD" Wichtig ist das DBQ=PROD wenn das nicht geht, dann mal "DBQ=PROD.WORLD" ausprobieren. Jetzt sollte es aber klappen. Zur Not kannst du dir auch die Eigenschaften der "Verknüpften Tabelle" ansehen. (ich glaube das ist der Eintrag: CurrentDB.TableDefs("Tabellenname").Connect )
  24. >> Da ich mit Frames arbeite und einige daten an verschieden >> Positionen liegen, möchte ich halt nun versuchen die Daten >> auszulesen bzw. zwischenzuspeichern und die Daten >> wiederum in eine neue Seite anzeigen zu lassen. 1. Das hat doch nix mit Frames zu tun. 2. Die Nutzerengaben fängst du mit einem HTML-Formular und einer 2 ASP-Seiten ab. Die Daten, die du brauchst speicherst du in der DB oder als Session-Variablen. 3. Wenn die neue Seite generiert wird rufst du die Daten wieder ab. Wo genau ist dein Problem? Die Daten mit ASP anzuzeigen oder sie zu speichern?
  25. Der Service-Name (auch TNS Service Name oder Net8 Service Name genannt) wird bei der Einreichtung der DNS mit angegeben. ---------------- Außerdem sollte auf deinem Rechner eine Datei: %ORACLEHOME%\network\admin\tnsnames.ora geben. Da sind alle Servicenamen eingetragen. Wenn nicht kannst du keine Verbindung zur Datenbank aufbauen! Bei einer Oracle-Client Installation wird ein GUI-Tool zur Konfiguration der Verbindungen installiert. Net8 Configuration Assistant (oder Net8 Easy Config) Der erstellt diese Einträge. ---------------- Check noch mal, ob du alle Bedingungen erfüllst: 1. Oracle Client-Installation ist vorhanden (inkl. Net8) 2. Verbindung zur Datenbank ist möglich (via SQLPLUS) 3. ODBC-Treiber ist installiert. 4. Du kannst im Access die Tabellen über "Verknüpfen" einbinden Wenn das alles funzt, dann klappt auch der ODBC-Aufruf via VBA. Hilft das?

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...