PDA

Vollständige Version anzeigen : Automatisch ergänzen...


Eglevara
26.09.2003, 11:33
Hi,
bitte gebt mir noch ein Erfolgserlebnis in dieser grauenhafen Woche ;)

ich hab hier ein formular, in dem in einer kombobox alle artikel (ca. 2000) per abfrage aus der sql-datenbank abgeholt werden.
zugehörige artikelinformationen werden automatisch aktualisiert.

ich kann aber zwischen den artikeln in der kombobox nur mit mausrad wechseln. klick ich auf die kombobox und will einen artikel auswählen, bekomme ich die meldung: "Diese Datensatzgruppe kann nicht aktualisiert werden". die automatische ergänzung funktioniert ebenfalls nicht...

welche parameter muss ich einstellen?

c., der vor lauter bäumen den wald nicht mehr sieht ;)

J_Eilers
26.09.2003, 11:39
Hallo c,

also ich weiß ja nicht, ob das vielleicht an der Datenmenge liegt (habe nicht so viele Daten in einem Kombifeld), aber vielleicht könntest du ja mal den SQL-String des Kombifeldes posten, vielleicht liegt hier ja ein Problem...
Und wenn du dann auch noch sagst, wie welche Felder aktualisiert werden, kann man gleich auch danach schauen ;)

Paul.Ostermeier
26.09.2003, 11:47
könnte u.U mit der Einstellung

>Extras> Optionen> Bearbeiten/Suchen>"keine Listen anzeigen ... wenn mehr als...."

zusammenhängen ?

Eglevara
26.09.2003, 11:55
dann scheints ja doch nicht ganz so banal zu sein :D

also die abfrage, auf der das formular beruht beinhaltet 3tabellen:
- artikel (felder: art-nr/art-bez/material/zeichnung)
- artikelkunde (wird lediglich als verknüpfungsfeld für firma benutzt)
- firma (firmenname)

folgendermaßen sind die tabellen verknüpft:
artikel<--art-nr-->artikelkunde<--firma-nr-->firma

das sieht dann so aus:


SELECT DISTINCT dbo_artikel.ARTIKEL, dbo_artikel.NAME AS Artikelbez,
dbo_artikel.MATERIAL, dbo_artikel.ZEICHNUNG, dbo_firma.NAME
FROM (dbo_artikel INNER JOIN dbo_artikelkunde ON dbo_artikel.ARTIKEL = dbo_artikelkunde.ARTIKEL) INNER JOIN dbo_firma ON dbo_artikelkunde.FIRMA = dbo_firma.FIRMA
ORDER BY dbo_artikel.ARTIKEL;


im kombifeld selbst werden folgenden werte in 4 spalten angezeigt:
art-nr/art-bez/material/zeichnung. dazu unten noch ein bild...


die anderen felder liegen im formular als textfeld und beinhalten als steuerelementinhalt die werte aus der abfrage...

Nouba
26.09.2003, 12:05
Kannst Du denn, wenn statt des Kombifelds ein Textfeld genommen wird, Daten in dem Formular bearbeiten, löschen und hinzufügen?

strausto
26.09.2003, 12:08
Vielleicht:

SELECT DISTINCTROW
dbo_artikel.ARTIKEL, dbo_artikel.NAME AS Artikelbez,
dbo_artikel.MATERIAL, dbo_artikel.ZEICHNUNG, dbo_firma.NAME
FROM (dbo_artikel INNER JOIN dbo_artikelkunde ON dbo_artikel.ARTIKEL =
dbo_artikelkunde.ARTIKEL) INNER JOIN dbo_firma ON
dbo_artikelkunde.FIRMA = dbo_firma.FIRMA
ORDER BY dbo_artikel.ARTIKEL;

Eglevara
29.09.2003, 08:10
Guten Morgen!
da bin ich wieder...

@strausto: wenn ich deinen code benutze, dann bekomme ich die Fehlermeldung "Datensätze in der Tabelle dbo_artikelkunde hätten keinen Datensatz auf der '1'-Seite.

@nouba: in dem Formular gibt es noch ein Unterformular. in diesem werden einzelne aktionen zu dem jeweiligen artikel eingegeben. wie gesagt: ich kann mit dem mausrad den datensatz wechseln und kann dann im unterformular ganz normal die jeweiligen datensätze eingeben. das uf ist mit dem hf über artikel verknüpft. für die daten im uf wurde eine eigene tabelle angelegt (id als schlüssel, per artikel mit hf verknüpft)

viele grüße
c.

Eglevara
29.09.2003, 11:08
auch wenn ich die verknüpfung zum uf weglasse bleibt der fehler noch bestehen.

nochmal ganz kurz zum aufbau des formulars:
im hf befinden sich ein kombifeld und 3 textfelder. das kombifeld wird 4spaltig mit der artikel-nr und den inhalten, mit denen bei auswahl des artikels die 3 anderen textfelder aufgefüllt werden.


das seltsame ist, dass ich die datensätze mit dem mausrad wechseln kann, aber mit der 'automat. ergänzen'-funktion und der auswahl mit der maus aber nicht.

ich glaub mittlerweile auch nicht mehr dass es an der abfrage liegt. (kombifeld und formular basieren übrigens auf der selben abfrage!)

hat noch irgendjemand eine zündende idee?

gruß
c.

CptChaos
29.09.2003, 11:59
Hi c.,

Du sagst mit dem Mausrad funktioniert der DS-Wechsel.
Also funktioniert er auch über die Navigationsschaltflächen, oder?

Vermute den Fehler an den Einstellungen der Kombobox.
Du hast gebundene Spalte 1 und Steuerelementinhalt 'ARTIKEL' eingestellt.
Ist denn in der Datenherkunft (qry_artikelabfrage) die Spalte 1 identisch mit dem Feld 'ARTIKEL'?

Viele Grüsse

Eglevara
29.09.2003, 12:14
hi:

du hast 100Punkte, ist alles so wie du es geschildert hast! spalte 1 ist identisch mit Artikel und ja ich kann auch über die nav-schaltflächen wechseln!!!

welche parameter muss ich ändern?

gruß
c.

CptChaos
29.09.2003, 17:10
poste mir mal bitte eine "abgespeckte" Version Deiner DB, dann schau ich mir das ganze mal an.

Eglevara
30.09.2003, 08:43
hi,
anbei eine stark beschnitte version der db:

- nur 3artikel
- nur 3kunden
- ohne sql ;)

noch zweu bemerkungen:
das feld sbg-zellenzahl wird evtl. noch im hf eingefügt, da noch nicht feststeht wie die datenpflege zukünftig von den usern praktiziert wird. deshalb (noch) die jeweils manuelle eingabe der zellenzahl


hoffe ihr könnt mir weiterhelfen...


gruß
c.

CptChaos
30.09.2003, 13:11
Hi c.,

hat leider etwas länger gedauert, aber die Arbeit hat mich nich ausgelassen ;)

Also, die FM, bzw. die Meldung in der Statusleiste, dort kommt sie nämlich, liegt scheinbar daran, dass dem "Suchfeld" ein Steuerelementinhalt zugeordnet ist.
Ich vermute, dass das nicht möglich ist, da Du durch einen Wechsel in diesem Feld ja den Wert in der Tabelle ändern würdest... Aber dazu kann uns vielleicht noch einer der Gurus hier was sagen :p

Zurück zur Lösung für Dich.
Hab in dem Form einfach noch eine weitere Kombobox über den Assistenten erstellt (Datensatz auf Basis der Auswahl suchen...)
Ergebnis kannst Du Dir runterladen, funzt einwandfrei!

Viele Grüsse

Eglevara
30.09.2003, 14:19
hi,
prima das funzt wunderbar!

nur wenn ich den ds mit der maustaste wechsle, bleibt im kombifeld der vorher angewählte ds stehen, die restlichen werte ändern sich!


vielen dank
gruß
c.

CptChaos
30.09.2003, 14:23
Das ist korrekt.
Es handelt sich ja hier um ein ungebundenes Feld, das nur zum Suchen dient.

Ob dies geleert werden kann, weiss ich nicht!
Vleicht kann hier nochmal einer der Gurus helfen?! :angel: