Zum Inhalt springen

Meenzer

Mitglieder
  • Gesamte Inhalte

    355
  • Benutzer seit

  • Letzter Besuch

Beiträge von Meenzer

  1. Hallo!

    Ich habe ein Textfeld in VB6, welches als Format Currency hat. Leider zeigt er mir immer nur die Zahl ( zB. 47,11 ) an und das € - Zeichen nicht. Auch bei anderen Währungszeichen ( $ oder so ) wird nichts im Textfeld angezeigt.

    Ich habe ich schon mehrere Schriftarten ausprobiert, weil ich dachte, es würde daran liegen, leider vergebens.

    Wie bekomme ich das Währungszeichen automatisch in das Textfeld ohne jedesmal es mit & "€" anzufügen???

    Gruss

  2. Hi!

    Mit folgendem Befehl kannst Du den Bericht in der Vorschau öffnen und ihn Dir anschauen bevor Du in drucken willst. Wenn Du nur bestimmte Datensätze haben willst, schreibst Du das in Dein Kriterium rein.

    Natürlich müssen die Felder auch in Deinem Bericht vorkommen ;)

    zB so :

    --------------------------------------------------------------------

    Dim strKrit as String

    strKrit = "[NR] = " & 2 & " AND [ZEILE] = " & 5

    Docmd.OpenReport, acPreview,, strKrit

    ----------------------------------------------------------------------

    Gruss

  3. Hi!

    Ich glaube, Du musst beim Öffnen des Recordsets noch die Quelle angeben. Also in Deinem Fall die QueryDef oder das SQL. Quasi so:

    ---------------------------------------------------------------------------

    Public Function GetWert(ByVal sSQL As String) As String

    Dim dbs As Database, qdfTemp As QueryDef, rs As Recordset

    Set dbs = CurrentDb

    With dbs

    'Set qdfTemp = .CreateQueryDef("", sSQL)

    Set rs = .OpenRecordset(sSQL)

    If Not rs.EOF Then

    If Not IsNull(rs.Fields(0).Value) Then

    GetWert = Trim(rs.Fields(0).Value)

    End If

    End If

    End With

    End Function

    ------------------------------------------------------------------------

    Wenn ich Dich richtig verstehe willst Du prüfen, ob es einen Datensatz für Dein SQL gibt. Also brauchst Du doch nur das Recordset mit Deinem SQL zu öffnen.

    Ich hoffe, ich konnte Dir helfen. Gruss

  4. Hi!

    Ich habe es noch nie verwendet, aber ich glaube so funktioniert es:

    ---------------------------------------------------------------------------------

    ALTER TABLE ROHDATEN MODIFY("f1" INTEGER);

    ---------------------------------------------------------------------------------

    Ob die Klammern da stehen müssen, weiss ich nicht genau. Zur Not musst DU ein wenig experimentieren.

    Gruss

  5. Hi!

    Um den Datentyp in einer Tabelle zu ändern, kannst Du auch ganz einfach in die Entwurfsansicht der Tabelle gehen und dort bei den Eigenschaften den Datentyp ändern. Dann musst Du die Tabelle einfach speichern und wenn keine Konvertierungsfehler auftreten hat die Spalte nun den neuen Datentyp.

    Wenn Du es mit VBA machen möchtest dann schau mal in der Hilfe unter ALTER TABLE nach.

    Gruss

  6. Hi!

    Versuch mal bei der Entwicklung Deiner Anwendung mit Access darauf zu achten, dass Du die Objekte ( Formulare, Tabellen, Abfragen usw ) immer so zu benennen, dass Du immer genau weisst, welches Formulatr Du ansprichst.

    Außerdem komprimier und reparier die DB in regelmäßigen Abschnitten und löschen überflüssigen Quellcode raus. Vorallem schreibe Dir bessere Fehlerroutinen in Deinen VBA Ereignissen, damit Du schneller weisst, wo der Fehler liegt. ZB:

    Public Sub X_Click()

    On Error Goto errX_Click

    'Quellcode

    exitSubFunktion:

    exit Sub

    errX_Click:

    MsgBox "Fehler in 'errX_Click' in " & Me.Name & vbcrlf & _

    Err.Number & ": " & Err.Description , vbCritical

    Resume exitSubFunktion

    End Sub

    So mache ich es immer. Also viel Spass noch mit Access. Gruss

  7. HI!

    Die ComboBox muss ungebunden sein. Du hast wahrscheinlich bei der Eigenschaft 'Steuerelementinhalt' einen Feldnamen angegeben. Und dann ändert er Dir beim Umschalten der ComboBox den Wert.

    Also --> in die Eigen. 'Steuerelementinhalt' nichts eintragen.

    Dann musst Du nach dem Ereignis 'Nach Aktualiesierung' bei der ComboBox Dir die Werte des DS holen. ZB:

    ------------------------------------------------------------------

    SQL = "SELECT * FROM TABELLE WHERE FELD = " & DeineCombobox

    Me.recordsource = SQL

    ------------------------------------------------------------------

    Allerdings hast Du dann nur noch einen DS in Deinem Formular.

    Oder so. FELDNAME ist das Feld , nach dem Du suchst. Allerdings habe ich es unter Access 97 versucht. Vielleicht klappts trotzdem.

    --------------------------------------

    DoCmd.GoToControl "FELDNAME"

    DoCmd.FindRecord DEINECOMBOBOX

    --------------------------------------------

    Gruss

  8. Ich war schon im Mai 2 Wochen in Andalusien. In der Nebensaison ist es sowie so alles billiger. Und im Sommer soll es ja auch angeblich in Deutschland schönes Wetter sein, so dass man an den See fahren kann.

    Aber im September möchte ich auch noch mal ne Woche weg. Vielleicht in die Türkei oder nach Griechenland. Mal sehen.

  9. Hi!

    Vielleicht muss Du noch die Textlänge bei den Eigenschaften des Feldes verändern und auf 5 oder 6 stellen??

    Und dann kannst Du Dir eine kleine Funktion schreiben, wo Du die Länge abprüfst und zur Not ne 0 davor setzt. So ungefähr:

    ---------------------------------------------------------

    dim rs as recordset

    dim strPLZ as string

    set rs = currentdb.openrecordset("SELECT PK,PLZ FROM TABELLE ORDER BY PK",dbopenforwardonly)

    'PK ist der Primary Key

    do until rs.eof

    Select case len(rs!PLZ)

    case 3: strPLZ = "00" & rs!PLZ

    case 4: strPLZ = "0" & rs!PLZ

    end select

    currentdb.excute "UPDATE TABELLE SET PLZ = '" & strPLZ & "' WHERE PK = " & rs!PK

    rs.movenext

    loop

    rs.close

    set rs = nothing

    -----------------------------------------------

    Das musst Du nur noch in eine Funktion packen und mal testen, ob's geht.

    Gruss

  10. Hallo!

    Ich würde mit VBA arbeiten und so die Steuerung in den Formularen machen. Das ist viel flexibler und Du kannst individuelle Funktionen einfacher erstellen.

    Außerdem blicke ich bei den Makros nie so durch:D

    Du kannst aber , mal so als kleiner Tip, Dir ein Makro erstellen und dann den VBA - Code anzeigen lassen. Den kannst Du dann immer in Dein Formular kopieren.

    Wegen einem VBA-eBook oder so, such doch mal unter Google oder schau mals ins Forum für Literaturtips.

    Gruss

  11. Hi!

    Ich habe es bisher nur für Access '97 verwendet. Vielleicht gibt es ein Update, damit man auch auf XP zugreifen kann.

    Oder Du stellst bei Target Server Oracle oder SQl ein, dann liefert er Dir 'reines' SQL , dass Du in Deine Abfragen einfügen kannst.

    Leider kann man ( soweit ich weiss ) per Abfrage immer nur eine Tabelle erstellen. Du kannst aber Dir ein Modul oder so erstellen, den SQL Code reinkopieren. Dann kannst Du für jede Tabelle einen currentdb.execute Befehl machen und alles durchlaufen lassen. Quasi so:

    currentdb.execute "CREATE TABLE Tabelle 1....."

    currentdb.execute "CREATE TABLE Tabelle 2....."

    currentdb.execute "CREATE TABLE Tabelle 3....."

    ......

    Das ganze in eine Funktion gepackt und ab geht die Post. Ich hoffe Du hast verstanden wie ich es gemeint habe.

    Gruss

  12. Hi!

    Also als erstes muss die Dein Display in die "Physical" Ansicht stellen.

    Dann gehst Du unter Server --> Target Server und stellst dort die Datenbank ein, für die Du das Modell haben möchtest. ( In Deinem Fall also Access)

    Als nächstes gehst Du unter Tasks --> Forward Engineer. Dort hast Du dann die Auswahl, was Du alles erstellen möchtest. Zum Beispiel nur Tabellen erstellen, Trigger, Indexe usw. Dort kannst Du dann bei der Option "Table" nur auf "Create Table".

    Wenn Du jetzt auf PREVIEW gehst, zeigt es Dir den Quelltext an. Du kannst aber auch bei Server --> Connection Deine DB angeben und dann auf "GENERATE" drücken. Dann werden die Tabellen sofort in der DB mit allen Relation und Indexen ( wenn Du die Optionen angeklickt hast ) erzeugt.

    Gruss

  13. Hi!

    Du erstellst Dir eine Abfrage mit Deinen Daten aus den Tabellen und exportierst dann die Daten ins Excel:

    -------------------------------------------

    Docmd.TransferSpreadsheet acExport,acSpreadsheetTypeExcel97,"Deine Abfrage"

    --------------------------------------------

    Schau Dir aber nochmal genau die Parameter bei dem Docmd.Transfer - Befehl an.

    Gruss

  14. Original geschrieben von JayN

    Schaue Dich mal unter Datei -> Externe Daten -> Importieren um.

    Und dann gehst Du auf den Butten 'weitere' links unten. Dann wird ein Fenster geöffnet, wo Du den Spalten Namen geben und den Datentyp bestimmen kannst.

    Das ganze kannst Du dann bei 'Speichern unter..' ablegen , und schon hat man eine Importspezifikation. Die kannst Du dann immer bei dem Docmd.TransferText - Befehl verwenden.

    Gruss

  15. Hi!

    Da Deine Variable ein String ist, muss Du noch ein einfaches Hochkomma vor die Gänsefüsschen setzen. Also so:

    ------------------------------------------------------------------------

    sql_str = "Insert Into Geraet (Ger_Nr,Anl_Nr, Bezeichnung,Ort,Firma, Prio_Nr) Values (" & Ger_Anzahl & ",Anl_Nr_Feld, '" & anlagename & "' ,Standort_Feld,Firma_Feld, Prio_Nr_Feld)"

    DoCmd.RunSQL sql_str

    -----------------------------------------------------------------------

    Gruss

  16. Hi!

    -------------------------------------------------------------------

    Dim rs as recordset

    Set rs = currentdb.openrecordset("Count (FeldName) AS Anzahl FROM TABELLE",dbopenforwardonly)

    VBAVariable = rs![Anzahl]

    rs.close

    set rs = nothing

    ---------------------------------------------------------------------------

    Gruss

  17. Aus der Hilfe:

    "Ein Recordset-Objekt stellt die Datensätze in einer Basistabelle oder die Datensätze, die das Ergebnis einer Abfrage sind, dar."

    Ein Recordset ist quasi ein Abbild einer Tabelle. Du kannst durch eine Abrage oder ein SQL - Statement auch diverse Filter setzen und Dir nur die Datensätze holen , die Du haben möchtest.

    Ausserdem kannst Du damit neue DS anfügen, DS editiern und löschen.

    In der Hilfe ist alles nochmal ausführlich erklärt.

    gruss

  18. Hi!

    Ich deklariere meine Variablen genauso wie Du. Das ist doch sinnvoll, wenn man weiss, was für ein Datentyp die Variable ist, dann macht man auch weniger Fehler bei irgendwelchen Zuweisungen.

    Auch deklariere ich Varibale , die ich mehrmals brauche global. Ist doch auch viel übersichtlicher.

    Also, bleib dabei ;)

    Gruss

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...