Για να καταλάβεις το προβλημα ποιο είναι κάνε κάτι απλό
χρησιμοποίησε την βάση που σου παίζει και μετα το σημείο που φτιάχνεις τον command builder (cb)
γραψε την εντολή
MessageBox.Show(cb.GetInsertCommand().CommandText)
ή καλύτερα άμα ξέρεις το debugger
Debug.WriteLine ( cb.GetInsertCommand().CommandText )
θα πάρεις το insert που σε αυτές που δεν έχεις προβλημα δουλεύει
Αν τώρα βάλεις αυτή που δεν σου δουλευει θα δεις ένα τελειως διαφορετικό Insert το οποίο εσυ το γεμίσεις με λιγότερα στοιχεία καθώς του δίνεις λιγότερα και λογικά δεν παίζει
Για να δώσεις λύση στο προβλημα σου ή θα πρέπει να φτιάξεις όπως σου είπα και πριν ένα command όπου στο command text να έχεις το Insert αυτό που θα πάρεις από την αρχική εκτέλεση. Αυτό σημαίνει όμως ότι ξέρεις να χρησιμοποιείς commands
Άλλος τρόπος είναι, για να ξεγελάσεις τον builder και με την προυπόθεση ότι δεν υπάρχουν υποχρεωτικά πεδία σε αυτά που θα παραλείψουμε, στο σημείο όπου κάνεις SELECT να βάλεις μόνο τα πεδία που υπάρχουν στις βάσεις που δουλεύει κανονικά και όχι *. δηλαδη
SELECT Journal.ID, Journal.Kasse, Journal.Artikel, Journal.Betrieb, Journal.Anzahl, Journal.Umsatz, Journal.Steuer, Journal.ZahlArt, Journal.Kundenkonto, Journal.Kellner, Journal.Schluessel, Journal.Datum, Journal.Zeit, Journal.Hausbon, Journal.Z_Datum, Journal.BonNum
FROM Journal
Θα σου έλεγα να το δοκιμάσεις αυτό μήπως είσαι τυχερός και δεν έχεις υποχρεωτικά πεδία και να πας για ύπνο ήσυχα
Antonios Chatzipavlis